|File-Based Session Storage|
|Asynchronous File-Based Session Storage|
|Memory-based Session Storage|
|Pluggable Session Storage|
By default, the Handler uses File-Based Session Storage, so it stores incoming and outgoing messages and session's state data in files in the OnixS::CME::iLink3::SessionSettings::storageDirectory folder.
However, it is possible to keep all session-related data in memory using the Memory-based Session Storage.
Also, one can use asynchronous-file-based-session-storage, which combines excellent performance with the File-Based Session Storage functionality.
Yet another option is to use the Pluggable Session Storage.
When the OnixS::CME::iLink3::Session object is created, the session state (OnixS::CME::iLink3::Session::uuid, OnixS::CME::iLink3::Session::negotiated, OnixS::CME::iLink3::Session::inSeqNum, OnixS::CME::iLink3::Session::outSeqNum, OnixS::CME::iLink3::Session::previousSeqNo, OnixS::CME::iLink3::Session::previousUuid, etc.) is restored from the session storage.
To start a session as a new one (so-called "clean start"), either remove the session storage files from the previous runs or call the OnixS::CME::iLink3::Session::reset(bool startOfWeek = false) method.
The usual practice is to back up log files at the end of the business week (so-called "End Of Week
procedure") to generate a new UUID and start the sequence numbers from
1 at the beginning of the next week.