Provided by: afnix_2.9.2-2build1_amd64 bug

NAME

       csm - standard chaos session management service

STANDARD CLOUD SESSION MANAGEMENT SERVICE

       The  Standard  Cloud  Session  Managementservice  is an original implementation of various
       objects dedicated to the management of sessions, realms, identities and more generaly with
       data concentration in the form of binary blobs.

       General concepts
       The  afnix-csmprovides  the  support  for manipulating cloud session in an ecclectic form.
       There are multiple types of objects which can broadly be  categorized  into  general  data
       management  in  the  form  of  data  blobs, identity and credential management and finally
       session management.

       Blob
       The concept of blo=b is central in the csmservice. A blob is a registrable part. A part is
       an  abstract  taggable  object uniquely identified by a uuid. The blob adds a registration
       identification, which enables them to be group into domains.

STANDARD CLOUD SESSION MANAGEMENT REFERENCE

       Part
       The Partclass is a taggable object which is bound by a unique  key  and  provide  a  plist
       interface access. The part object is the foundation of the blob object and is also used to
       feed a collection. The key is represented by a uuid object.

       Predicate

              part-p

       Inheritance

              Taggable

       Constructors

              Part (none)
              The Partconstructor creates an empty part

              Part (String)
              The Partconstructor creates a part by name.

              Part (String String)
              The Partconstructor creates a part by name and info strings.

       Methods

              kid-p -> Boolean (String)
              The kip-ppredicate returns true if the part kid can be validated.

              property-p -> Boolean (String)
              The property-ppredicate returns true if the property name argument  is  defined  in
              the part.

              get-kid -> Uuid (none)
              The get-kidmethod returns the part kid.

              add -> none (String Literal)
              The addmethod adds a property to the part.

              get-header -> Plist (none)
              The  get-headermethod  returns the part header which is a plist with the part name,
              info and uuid.

              get-plist -> Plist (none)
              The get-plistmethod returns the part plist.

              get-value -> String (String)
              The get-valuemethod returns the a part property value by name.

              to-lteral -> Literal (String)
              The toliteralmethod returns the a part property literal by name.

       Blob
       The Blobclass is a base class that models the behavior of a registered  blob  through  the
       use of a registration id. The blob is registered as soon as its registration id is set. If
       the registration id is unset, the object is unregistered or anonymous. The registration id
       can  be  anything  as  long  as  as  it  is  understood  by  the  implementation that such
       registration is to be interpreted somewhere else. The blob is also a part which means that
       it has a name, info and unique key.

       Predicate

              blob-p

       Inheritance

              Part

       Constructors

              Blob (none)
              The Blobconstructor creates an empty blob.

              Blob (String)
              The Blobconstructor creates a blob by name.

              Blob (String String)
              The Blobconstructor creates a blob by name and info strings.

              Blob (String String String)
              The Blobconstructor creates a blob by rid, name and info strings.

       Methods

              rid-p -> Boolean (none)
              The rid-ppredicate returns true if the blob registration id is set.

              set-rid -> none (String)
              The set-ridmethod sets the blob rid.

              get-rid -> String (none)
              The get-ridmethod returns the blob rid.

       Bloc
       The  Blocclass  is  a derived class which encapsulates the functionality of a blob coupled
       with a plist and a table of conditionals.

       Predicate

              bloc-p

       Inheritance

              Blob

       Constructors

              Bloc (none)
              The Blocconstructor creates an empty bloc.

              Bloc (String)
              The Blocconstructor creates a bloc by name.

              Bloc (String String)
              The Blocconstructor creates a bloc by name and info strings.

              Bloc (String String String)
              The Blocconstructor creates a bloc by rid, name and info strings.

       Methods

              add-credential -> none (Credential)
              The add-credentialmethod add a credential to the bloc.

              get-credential -> Credential (String)
              The get-credentialmethod returns a credential object by name.

       Carrier
       The Carrierclass is a blob used to transport an object.  The  object  transported  by  the
       carrier must be serializable.

       Predicate

              carrier-p

       Inheritance

              Blob

       Constructors

              Carrier (none)
              The Carrierconstructor creates an empty carrier.

              Carrier (Object)
              The Carrierconstructor creates a carrier with an object.

              Carrier (Object String)
              The Carrierconstructor creates a carrier with an object by name.

              Carrier (Object String String)
              The Carrierconstructor creates a carrier with an object by name and info strings.

              Carrier (Carrier String String String)
              The  Carrierconstructor  creates  a  carrier  with  an object by rid, name and info
              strings.

       Methods

              get-object -> Object (none)
              The get-objectmethod returns the carrier object.

       Delegate
       The Delegateclass is a carrier blob which delegates its transport to another object.  Such
       approach  is  used  when  the  carried  object  needs to remains locally (aka it cannot be
       serialized) but a reference to it can be sent to the remote peer.

       Predicate

              delegate-p

       Inheritance

              Carrier

       Constructors

              Delegate (none)
              The Delegateconstructor creates an empty delegate.

              Delegate (Object)
              The Delegateconstructor creates a delegate with an object.

              Delegate (Object String)
              The Delegateconstructor creates a delegate with an object by name.

              Delegate (Object String String)
              The Delegateconstructor creates a delegate with an object by name and info strings.

              Delegate (Delegate String String String)
              The Delegateconstructor creates a delegate with an object by  rid,  name  and  info
              strings.

              Delegate (Delegate String String String String)
              The  Delegateconstructor  creates  a  delegate  with  an  object by rid, name, info
              strings and delegation address.

       Methods

              set-address -> none (String)
              The set-addressmethod sets the delegate address.

              get-address -> String (none)
              The get-addressmethod returns the delegate address.

       Realm
       The Realmclass is an abstract class design for the storage and management of  authorities.
       The class provides the basic methods to create, check and validate an authority.

       Predicate

              realm-p

       Inheritance

              Nameable

       Methods

              exists-p -> Boolean (String)
              The exists-ppredicate checks if an authority exists by kid.

              valid-p -> Boolean (String Credential)
              The valid-ppredicate validates an authority by name and credential.

              get-info -> String (none)
              The  get-info-pmethod  the real information string. Note that the get-namemethod is
              also available through the Nameableinterface.

              create -> none (String Credential)
              The createmethod creates an authority by name and credential.

              update -> none (Authority)
              The updatemethod updates a workzone by authority.

       Session
       The Sessionclass is a class that defines a session to be associated  with  a  transaction.
       The  session  object  is  designed  to  be  persistent so that its data information can be
       retreived at any time. A session object has also  the  particularity  to  have  a  limited
       lifetime.  A  session  object is created by name with an identifier. The session object is
       designed to hold a variety of parameters that are suitable for both the authentication and
       the  session lifetime. A session is primarily defined by name with an optional information
       string. The session is generally associated an  authentication  visa  which  contains  the
       session  identity.  The  visa provides a secure mechanism compatible with a single sign on
       session. A session key is automatically generated when the session is created. Such key is
       used to generate a session hash id which can be used as a cookie value. The cookie name is
       also stored in the session object. When a cookie is generated, the session  hash  name  is
       combined with the session hash id for the cookie production.

       Predicate

              session-p

       Inheritance

              Taggable

       Constructors

              Session (String)
              The  Sessionconstructor  creates  a  session  by  name.  The string argument is the
              session name.

              Session (String String)
              The Sessionconstructor creates a session with a name and a user. The first argument
              is the session name. The second argument is the session information..

              Session (String String Integer)
              The Sessionconstructor creates a session with a name, a user and a maximum age. The
              first  argument  is  the  session  name.  The  second  argument  is   the   session
              informartion. The third argument is the session maximum age expressed in seconds.

       Methods

              expire-p -> Boolean (none)
              The expire-ppredicate returns true if the session has expired.

              set-hash-id -> none (String)
              The set-hash-idmethod sets the session hash identifier. The session hash id must be
              unique and secured enough so that the session name cannot be derived from it.

              get-hash-id -> String (none)
              The get-hash-idmethod returns the session hash identifier.

              set-path -> none (String)
              The set-pathmethod sets the session path.

              get-path -> String (none)
              The get-pathmethod returns the session path.

              get-max-age -> Integer (none)
              The get-max-agemethod returns the session maximum age.

              set-max-age -> none (Integer)
              The set-max-agemethod sets the session maximum age. The maximum age is  an  integer
              in  seconds  relative  to  the  current  time.  If the maximum age is set to 0, the
              session is closed.

              get-remaining-time -> Integer (none)
              The get-remaining-timemethod returns the remaining valid session time.

              get-expire-time -> Integer (none)
              The get-expire-timemethod returns the  session  expiration  time  in  seconds.  The
              expiration time is an absolute time.

              set-expire-time -> none (Integer)
              The  set-expire-timemethod sets the session expiration time. The expiration time is
              an absolute time in seconds.

              get-creation-time -> Integer (none)
              The get-creation-timemethod returns the session creation time. The creation time is
              an absolute time in seconds.

              get-modification-time -> Integer (none)
              The get-modification-timemethod returns the session creation time. The modification
              time is an absolute time in seconds.

              get-cookie -> Cookie (name)
              The get-cookiemethod bakes a session cookie. The string argument is the cookie name
              those value is the session hash id value.

              close -> Cookie (name)
              The  closemethod  close  a  session  by  reseting the session maximum age to 0. The
              method returns a cookie that can be used for closing the session on the peer  side.
              The string argument is the cookie name those value is the session hash id value.

              set-visa -> None (Visa)
              The set-visamethod set the session visa.

              get-visa -> Visa (None)
              The get-visamethod returns the session visa.