OnixS C++ CME iLink 3 Binary Order Entry Handler  1.12.0
API Documentation
Session Storage

Inner Contents

 File-Based Session Storage
 Asynchronous File-Based Session Storage
 Memory-based Session Storage
 Pluggable Session Storage

Detailed Description

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.

Restoring Session State

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.

When the session is finished, the session storage files are not needed anymore. They can be backed up, and later a new iLink 3 session with a new UUID will start message sequence numbers from 1.

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.