OnixS C++ CME MDP Conflated TCP Handler  1.1.0
API Documentation
SessionSettings Class Reference

#include <OnixS/CME/ConflatedTCP/SessionSettings.h>

Classes

struct  Default
 
struct  Key
 

Public Types

typedef std::vector< std::string > LicenseStores
 

Public Member Functions

 SessionSettings ()
 
const std::string & sessionId () const
 
SessionSettingssessionId (const std::string &value)
 
const std::string & firmId () const
 
SessionSettingsfirmId (const std::string &value)
 
const std::string & accessKey () const
 
SessionSettingsaccessKey (const std::string &value)
 
const std::string & secretKey () const
 
SessionSettingssecretKey (const std::string &value)
 
ThreadingModel::Enum threadingModel () const
 
SessionSettingsthreadingModel (ThreadingModel::Enum value)
 
unsigned receiveSpinningTimeout () const
 
SessionSettingsreceiveSpinningTimeout (unsigned usecTimeout)
 
unsigned sendSpinningTimeout () const
 
SessionSettingssendSpinningTimeout (unsigned usecTimeout)
 
unsigned messageGrouping () const
 
SessionSettingsmessageGrouping (unsigned value)
 
SessionSettingsresetToDefaults ()
 
SessionSettingsaddLicenseStore (const std::string &value)
 
SessionSettingslicenseStore (const std::string &value)
 
const LicenseStoreslicenseStores () const
 
unsigned licenseAlertingDaysBeforeExpiration () const
 
SessionSettingslicenseAlertingDaysBeforeExpiration (unsigned days)
 
const std::string & localNetworkInterface () const
 
SessionSettingslocalNetworkInterface (const std::string &value)
 
const std::string & logFileName () const
 
SessionSettingslogFileName (const std::string &value)
 
const std::string & storageDirectory () const
 
SessionSettingsstorageDirectory (const std::string &value)
 
bool localTimeUsage () const
 
SessionSettingslocalTimeUsage (bool)
 
Messaging::UInt64 fileBasedStorageSegmentSize () const
 
SessionSettingsfileBasedStorageSegmentSize (Messaging::UInt64 value)
 
unsigned asyncFileBasedStorageQueueMaxSize () const
 
SessionSettingsasyncFileBasedStorageQueueMaxSize (unsigned value)
 
const CpuIndexesasyncFileBasedStorageThreadAffinity () const
 
SessionSettingsasyncFileBasedStorageThreadAffinity (const CpuIndexes &cpuIndexes)
 
bool ignoreFileBasedStorageIntegrityErrors () const
 
SessionSettingsignoreFileBasedStorageIntegrityErrors (bool)
 
bool logBeforeSending () const
 
SessionSettingslogBeforeSending (bool before)
 
unsigned reconnectAttempts () const
 
SessionSettingsreconnectAttempts (unsigned reconnectAttempts)
 
unsigned reconnectInterval () const
 
SessionSettingsreconnectInterval (unsigned value)
 
int socketReceiveBufferSize () const
 
SessionSettingssocketReceiveBufferSize (int bufferSize)
 
unsigned reasonableTransmissionTime () const
 
SessionSettingsreasonableTransmissionTime (unsigned percentage)
 
int socketSendBufferSize () const
 
SessionSettingssocketSendBufferSize (int bufferSize)
 
const CpuIndexesthreadPoolAffinity () const
 
SessionSettingsthreadPoolAffinity (const CpuIndexes &cpuIndexes)
 
int threadPoolPriority () const
 
SessionSettingsthreadPoolPriority (int priority)
 
int threadPoolPolicy () const
 
SessionSettingsthreadPoolPolicy (int policy)
 
bool tcpNoDelayOption () const
 
SessionSettingstcpNoDelayOption (bool value)
 
unsigned threadPoolSize () const
 
SessionSettingsthreadPoolSize (unsigned numberOfThreads)
 
unsigned keepAliveInterval () const
 
SessionSettingskeepAliveInterval (unsigned milliseconds)
 
SessionSettingsload (const std::string &configFile)
 
std::string toString () const
 

Static Public Attributes

static const unsigned MaxSpinningTimeoutUsec = 1000000
 
static const int UseOsDefaultSocketBufferSize = -1
 

Detailed Description

Definition at line 38 of file SessionSettings.h.

Member Typedef Documentation

typedef std::vector<std::string> LicenseStores

Folders that contain license file(s).

Definition at line 160 of file SessionSettings.h.

Constructor & Destructor Documentation

Member Function Documentation

const std::string& accessKey ( ) const
inline
Returns
the access key that was assigned by the exchange.

The default value is empty.

Definition at line 72 of file SessionSettings.h.

SessionSettings& accessKey ( const std::string &  value)

Sets the access key that was assigned by the exchange.

SessionSettings& addLicenseStore ( const std::string &  value)

Adds the path to the folder that contains license file(s).

unsigned asyncFileBasedStorageQueueMaxSize ( ) const
inline
Returns
the maximum size of the asynchronous session storage queue.

By default, the size is unlimited.

Definition at line 264 of file SessionSettings.h.

SessionSettings& asyncFileBasedStorageQueueMaxSize ( unsigned  value)

Sets the maximum size of the asynchronous session storage queue.

const CpuIndexes& asyncFileBasedStorageThreadAffinity ( ) const
inline
Returns
the CPU index(es) for affinity of the asynchronous session storage threads.

By default, the affinity is not set.

Definition at line 276 of file SessionSettings.h.

SessionSettings& asyncFileBasedStorageThreadAffinity ( const CpuIndexes cpuIndexes)

Specifies the CPU index(es) for affinity of the asynchronous session storage threads.

Messaging::UInt64 fileBasedStorageSegmentSize ( ) const
inline
Returns
the segment size for the file-based session storage.

The defaul value is Default::FileBasedStorageSegmentSize.

Definition at line 252 of file SessionSettings.h.

SessionSettings& fileBasedStorageSegmentSize ( Messaging::UInt64  value)

Sets the segment size for file-based session storage.

const std::string& firmId ( ) const
inline
Returns
the firm id that was assigned by the exchange.

The default value is empty.

Definition at line 60 of file SessionSettings.h.

SessionSettings& firmId ( const std::string &  value)

Sets the firm id that was assigned by the exchange.

bool ignoreFileBasedStorageIntegrityErrors ( ) const
inline
Returns
The file-based storage integrity errors checking mode:
  • true - ignore errors and create a new storage
  • false - throw an exception

The defaul value is Default::IgnoreFileBasedStorageIntegrityErrors.

Definition at line 291 of file SessionSettings.h.

SessionSettings& ignoreFileBasedStorageIntegrityErrors ( bool  )

Sets the file-based storage integrity errors checking mode.

unsigned keepAliveInterval ( ) const
inline
Returns
the longest time in milliseconds the client system can remain silent before sending a message.

The default value is Default::KeepAliveInterval.

Definition at line 440 of file SessionSettings.h.

SessionSettings& keepAliveInterval ( unsigned  milliseconds)

Sets the longest time in milliseconds the client system can remain silent before sending a message.

Note
Allowed range is between 5000 - 60000. Any value outside this range will be rejected.
unsigned licenseAlertingDaysBeforeExpiration ( ) const
inline
Returns
the number of days to alert before the license expiration.

The defaul value is Default::LicenseAlertingDaysBeforeExpiration.

Definition at line 175 of file SessionSettings.h.

SessionSettings& licenseAlertingDaysBeforeExpiration ( unsigned  days)
inline

Sets the number of days to alert before the license expiration.

If the amount of remaining license days is less or equal to this number, then the warning is reported to the Handler's log.

The verification is performed during the Session::connect call.

Definition at line 186 of file SessionSettings.h.

SessionSettings& licenseStore ( const std::string &  value)

Sets the path to the folder that contains license file(s).

const LicenseStores& licenseStores ( ) const
inline
Returns
path(s) to the folder that contains license file(s).

The default value is '.'.

Definition at line 166 of file SessionSettings.h.

SessionSettings& load ( const std::string &  configFile)

Loads the settings from the given configuration file.

See also
Key
const std::string& localNetworkInterface ( ) const
inline
Returns
The interface name or IP-address from which the Handler connects to the counterparty.

The default value is empty.

Definition at line 195 of file SessionSettings.h.

SessionSettings& localNetworkInterface ( const std::string &  value)

Specifies the local interface from which the Handler connects to the counterparty.

Each local interface specification could specify the local IP address and port. For instance, localhost and 192.168.0.1:4501 are valid values.

bool localTimeUsage ( ) const
inline
Returns
the usage of the local time in Handler events and log files.

The defaul value is Default::LocalTimeUsage.

Definition at line 238 of file SessionSettings.h.

SessionSettings& localTimeUsage ( bool  )

Specifies the usage of the local time in Handler events and log files.

If it is true, then the local time is used, otherwise - UTC.

bool logBeforeSending ( ) const
inline
Returns
true if outbound messages are logged before sending, 'false' otherwise.

The defaul value is Default::LogBeforeSending.

Definition at line 303 of file SessionSettings.h.

SessionSettings& logBeforeSending ( bool  before)

Controls the order of logging and sending outbound messages.

Parameters
beforeif 'true' then outbound messages are logged before sending.
const std::string& logFileName ( ) const
inline
Returns
the Handler log file name.

The default value is HandlerLog.txt.

Definition at line 210 of file SessionSettings.h.

SessionSettings& logFileName ( const std::string &  value)

Specifies the Handler log file name.

unsigned messageGrouping ( ) const
inline
Returns
the message grouping mode.
  • 0 means default grouping - the messages are sent immediately, and pending messages (if any) are grouped till reaching of TCP buffer size.
  • 1 means the messages are sent immediately and never grouped.
  • 2 (or higher) means the messages are sent immediately, and pending messages are grouped by 2 (or higher).

The defaul value is Default::MessageGrouping.

Definition at line 140 of file SessionSettings.h.

SessionSettings& messageGrouping ( unsigned  value)

Sets the message grouping mode.

unsigned reasonableTransmissionTime ( ) const
inline
Returns
the reasonable transmission time - as the percentage from the KeepAliveInterval value.

The defaul value is Default::ReasonableTransmissionTime.

Definition at line 359 of file SessionSettings.h.

SessionSettings& reasonableTransmissionTime ( unsigned  percentage)

Sets the reasonable transmission time - as the percentage from the KeepAliveInterval value.

unsigned receiveSpinningTimeout ( ) const
inline
Returns
the receive spinning timeout (microseconds).

The defaul value is Default::ReceiveSpinningTimeout.

Definition at line 111 of file SessionSettings.h.

SessionSettings& receiveSpinningTimeout ( unsigned  usecTimeout)

Sets the receive spinning timeout (microseconds).

unsigned reconnectAttempts ( ) const
inline
Returns
the maximum number of tries to restore the telecommunications link.

The defaul value is Default::ReconnectAttempts.

Definition at line 317 of file SessionSettings.h.

SessionSettings& reconnectAttempts ( unsigned  reconnectAttempts)

Sets the maximum number of tries to restore the telecommunications link.

unsigned reconnectInterval ( ) const
inline
Returns
the time interval between retries to restore the telecommunications link (seconds).

The defaul value is Default::ReconnectInterval.

Definition at line 329 of file SessionSettings.h.

SessionSettings& reconnectInterval ( unsigned  value)

Sets the time interval between retries to restore the telecommunications link (seconds).

SessionSettings& resetToDefaults ( )

Resets the settings to the default values.

const std::string& secretKey ( ) const
inline
Returns
the secret key that was assigned by the exchange.

The default value is empty.

Definition at line 84 of file SessionSettings.h.

SessionSettings& secretKey ( const std::string &  value)

Sets the secret key that was assigned by the exchange.

unsigned sendSpinningTimeout ( ) const
inline
Returns
the send spinning timeout (microseconds).

The defaul value is Default::SendSpinningTimeout.

Definition at line 123 of file SessionSettings.h.

SessionSettings& sendSpinningTimeout ( unsigned  usecTimeout)

Sets the send spinning timeout (microseconds).

const std::string& sessionId ( ) const
inline
Returns
the session id that was assigned by the exchange.

The default value is empty.

Definition at line 48 of file SessionSettings.h.

SessionSettings& sessionId ( const std::string &  value)

Sets the session id that was assigned by the exchange.

int socketReceiveBufferSize ( ) const
inline
Returns
the socket receive buffer size.

The default value is Default::SocketReceiveBufferSize.

Definition at line 344 of file SessionSettings.h.

SessionSettings& socketReceiveBufferSize ( int  bufferSize)

Sets the socket receive buffer size.

Parameters
bufferSizethe size of the socket receive buffer size. If SessionSettings::UseOsDefaultSocketBufferSize then the default operating system value is used.
int socketSendBufferSize ( ) const
inline
Returns
the size of the socket send buffer size.

The default value is Default::SocketSedndBufferSize.

Definition at line 371 of file SessionSettings.h.

SessionSettings& socketSendBufferSize ( int  bufferSize)

Sets the size of the socket send buffer size.

Parameters
bufferSizethe size of the socket send buffer size. If SessionSettings::UseOsDefaultSocketBufferSize then the default operating system value is used.
const std::string& storageDirectory ( ) const
inline
Returns
the Session Storage directory.

Inbound and outbound messages, session's state data and the Handler log file are stored in this directory.

The default value is MsgStorage.

Definition at line 224 of file SessionSettings.h.

SessionSettings& storageDirectory ( const std::string &  value)

Sets the Session Storage directory.

Inbound and outbound messages, session's state data and the Handler log file are stored in this directory.

bool tcpNoDelayOption ( ) const
inline
Returns
the value of the option to improve latency at the expense of message throughput (the TCP_NODELAY socket option).

The default value is Default::TcpNoDelayOption.

Definition at line 416 of file SessionSettings.h.

SessionSettings& tcpNoDelayOption ( bool  value)

Sets the value of the option to improve latency at the expense of message throughput (the TCP_NODELAY socket option).

ThreadingModel::Enum threadingModel ( ) const
inline
Returns
the threading model.

The defaul value is Default::ThreadingModelValue.

Definition at line 96 of file SessionSettings.h.

SessionSettings& threadingModel ( ThreadingModel::Enum  value)

Sets the threading model.

const CpuIndexes& threadPoolAffinity ( ) const
inline
Returns
the thread pool affinity.

Definition at line 384 of file SessionSettings.h.

SessionSettings& threadPoolAffinity ( const CpuIndexes cpuIndexes)

Sets the thread pool affinity.

int threadPoolPolicy ( ) const
inline
Returns
the thread pool policy.

Definition at line 404 of file SessionSettings.h.

SessionSettings& threadPoolPolicy ( int  policy)

Sets the thread pool policy.

int threadPoolPriority ( ) const
inline
Returns
the thread pool priority.

Definition at line 394 of file SessionSettings.h.

SessionSettings& threadPoolPriority ( int  priority)

Sets the thread pool priority.

unsigned threadPoolSize ( ) const
inline
Returns
the size of the shared thread pool.

The default value is Default::ThreadPoolSize.

Definition at line 428 of file SessionSettings.h.

SessionSettings& threadPoolSize ( unsigned  numberOfThreads)

Sets the size of the shared thread pool.

std::string toString ( ) const
Returns
the human-friendly description.

Member Data Documentation

const unsigned MaxSpinningTimeoutUsec = 1000000
static

The maximum spinning timeout (microseconds).

Definition at line 105 of file SessionSettings.h.

const int UseOsDefaultSocketBufferSize = -1
static

Specifies the usage of the operating system default socket buffer size.

Definition at line 338 of file SessionSettings.h.


The documentation for this class was generated from the following file: