This package provides two Snap extensions, implementing
sessions as either memory-backed arbitrary types, or as
client-side cookie-backed serializable types. The latter
uses the clientsession package to encrypt the cookie for
security. In both extensions, sessions are protected from
session stealing by checking the source IP address, and
have a configurable timeout (optional for the cookie-
backed back end). The session type is user-defined.
In addition, a library is provided for a continuation-
based programming model called dialogues, which allows
natural specification of stateful interactions with the
client that span multiple requests. Because the session
type is not serializable, this requires the memory-backed
implementation.