97 return tradingSystemName_;
109 return tradingSystemVersion_;
121 return tradingSystemVendor_;
133 return threadingModel_;
145 return receiveSpinningTimeout_;
157 return sendSpinningTimeout_;
173 return messageGrouping_;
199 return licenseStores_;
207 return licenseAlertingDaysBeforeExpiration_;
218 licenseAlertingDaysBeforeExpiration_ = days;
227 return localNetworkInterface_;
256 return storageDirectory_;
270 return localTimeUsage_;
284 return fileBasedStorageSegmentSize_;
296 return asyncFileBasedStorageQueueMaxSize_;
308 return asyncFileBasedStorageThreadAffinity_;
323 return ignoreFileBasedStorageIntegrityErrors_;
335 return logBeforeSending_;
349 return reconnectAttempts_;
361 return reconnectInterval_;
377 return socketReceiveBufferSize_;
392 return reasonableTransmissionTime_;
404 return socketSendBufferSize_;
417 return threadPoolAffinity_;
427 return threadPoolPriority_;
437 return threadPoolPolicy_;
449 return tcpNoDelayOption_;
461 return threadPoolSize_;
473 return keepAliveInterval_;
490 return reportNewMessagesWhileWaitingForMissedMessages_;
506 return localPortRange_;
518 return messagingSchemaVersion_;
526 return detectMessageGapForPreviousUuid_;
550 return enableRxTimestamp_;
644 void processLicenseStores(
const std::string&
licenseStore);
646 std::string accessKey_;
648 unsigned asyncFileBasedStorageQueueMaxSize_;
650 CpuIndexes asyncFileBasedStorageThreadAffinity_;
652 bool createEngineLogFile_;
658 bool ignoreFileBasedStorageIntegrityErrors_;
660 unsigned keepAliveInterval_;
662 unsigned licenseAlertingDaysBeforeExpiration_;
664 std::string licenseFilePath_;
668 std::string localNetworkInterface_;
670 bool localTimeUsage_;
672 bool logBeforeSending_;
674 std::string logFileName_;
676 unsigned messageGrouping_;
678 unsigned reasonableTransmissionTime_;
680 int receiveSpinningTimeout_;
682 unsigned reconnectAttempts_;
684 unsigned reconnectInterval_;
686 bool reportNewMessagesWhileWaitingForMissedMessages_;
688 std::string secretKey_;
690 int sendSpinningTimeout_;
692 std::string sessionId_;
694 int socketReceiveBufferSize_;
696 int socketSendBufferSize_;
698 std::string storageDirectory_;
700 bool tcpNoDelayOption_;
706 int threadPoolPolicy_;
708 int threadPoolPriority_;
710 unsigned threadPoolSize_;
712 std::string tradingSystemName_;
714 std::string tradingSystemVendor_;
716 std::string tradingSystemVersion_;
718 std::pair<Port, Port> localPortRange_;
722 bool detectMessageGapForPreviousUuid_;
726 bool enableRxTimestamp_;
#define ONIXS_ILINK3_NODISCARD
#define ONIXS_ILINK3_EXPORTED
#define ONIXS_ILINK3_NOTHROW
int socketSendBufferSize() const noexcept
unsigned messageGrouping() const noexcept
SessionSettings & threadPoolSize(unsigned numberOfThreads)
Sets the size of the shared thread pool.
unsigned licenseAlertingDaysBeforeExpiration() const noexcept
SessionSettings & resetToDefaults()
Resets the settings to the default values.
const CpuIndexes & asyncFileBasedStorageThreadAffinity() const noexcept
const std::string & secretKey() const noexcept
SessionSettings & ignoreFileBasedStorageIntegrityErrors(bool)
Sets the file-based storage integrity errors checking mode.
SessionSettings & asyncFileBasedStorageQueueMaxSize(unsigned value)
Sets the maximum size of the asynchronous session storage queue.
SessionSettings & reconnectAttempts(unsigned reconnectAttempts)
Sets the maximum number of tries to restore the telecommunications link.
const std::string & firmId() const noexcept
SessionSettings & threadingModel(ThreadingModel::Enum value)
Sets the threading model.
SessionSettings & localTimeUsage(bool)
Specifies the usage of the local time in Handler events and log files.
std::string toString() const
int socketReceiveBufferSize() const noexcept
const std::string & localNetworkInterface() const noexcept
SessionSettings & sendSpinningTimeout(unsigned usecTimeout)
Sets the send spinning timeout (microseconds).
unsigned reconnectInterval() const noexcept
SessionSettings & keepAliveInterval(unsigned milliseconds)
Sets the longest time in milliseconds the client system can remain silent before sending a message.
SessionSettings & threadPoolPriority(int priority)
Sets the thread pool priority.
SessionSettings & socketSendBufferSize(int bufferSize)
Sets the size of the socket send buffer size.
bool reportNewMessagesWhileWaitingForMissedMessages() const noexcept
SessionSettings & threadPoolAffinity(const CpuIndexes &cpuIndexes)
Sets the thread pool affinity.
SessionSettings & secretKey(const std::string &value)
Sets the secret key that was assigned by the exchange.
SessionSettings & tradingSystemName(const std::string &value)
Sets the trading system name.
unsigned threadPoolSize() const noexcept
SessionSettings & messageGrouping(unsigned value)
Sets the message grouping mode.
const std::string & tradingSystemVendor() const noexcept
SessionSettings & reportNewMessagesWhileWaitingForMissedMessages(bool report)
Sets the option to report new messages even when the message gap is detected, and the reply on the Re...
SessionSettings & reconnectInterval(unsigned value)
Sets the time interval between retries to restore the telecommunications link (seconds).
SessionSettings & asyncFileBasedStorageThreadAffinity(const CpuIndexes &cpuIndexes)
Specifies the CPU index(es) for affinity of the asynchronous session storage threads.
SessionSettings & socketReceiveBufferSize(int bufferSize)
Sets the socket receive buffer size.
int threadPoolPolicy() const noexcept
SessionSettings & enableRxTimestamp(bool value)
Sets the value of the option to enable received data timestamp.
unsigned asyncFileBasedStorageQueueMaxSize() const noexcept
const CpuIndexes & threadPoolAffinity() const noexcept
Messaging::SchemaVersion messagingSchemaVersion() const noexcept
SessionSettings & localNetworkInterface(const std::string &value)
Specifies the local interface from which the Handler connects to the counterparty.
SessionSettings & detectMessageGapForPreviousUuid(bool detectGap)
Sets the value of the option to detect the message gap for the previous UUID.
SessionSettings & sessionId(const std::string &value)
Sets the session id that was assigned by the exchange.
SessionSettings & fileBasedStorageSegmentSize(Messaging::UInt64 value)
Sets the segment size for file-based session storage.
SessionSettings & useSpinLock(bool value)
Sets the value of the option to the option to use spin lock.
const std::string & sessionId() const noexcept
SessionSettings & tradingSystemVendor(const std::string &value)
Sets the trading system vendor.
unsigned receiveSpinningTimeout() const noexcept
SessionSettings & reasonableTransmissionTime(unsigned percentage)
Sets the reasonable transmission time - as the percentage from the KeepAliveInterval value.
unsigned reconnectAttempts() const noexcept
SessionSettings & load(const std::string &configFile)
Loads the settings from the given configuration file.
SessionSettings & logBeforeSending(bool before)
Controls the order of logging and sending outbound messages.
bool enableRxTimestamp() const noexcept
bool tcpNoDelayOption() const noexcept
SessionSettings & storageDirectory(const std::string &value)
Sets the Session Storage directory.
SessionSettings & logFileName(const std::string &value)
Specifies the Handler log file name.
SessionSettings & accessKey(const std::string &value)
Sets the access key that was assigned by the exchange.
SessionSettings & localPortRange(PortRange range)
Sets the range of the local ports to be used.
SessionSettings & messagingSchemaVersion(Messaging::SchemaVersion schema)
Specifies the version of the message schema.
bool ignoreFileBasedStorageIntegrityErrors() const noexcept
bool detectMessageGapForPreviousUuid() const noexcept
Messaging::UInt64 fileBasedStorageSegmentSize() const noexcept
SessionSettings & receiveSpinningTimeout(unsigned usecTimeout)
Sets the receive spinning timeout (microseconds).
const std::string & tradingSystemName() const noexcept
SessionSettings & addLicenseStore(const std::string &value)
Adds the path to the folder that contains license file(s).
bool logBeforeSending() const noexcept
SessionSettings & tcpNoDelayOption(bool value)
Sets the value of the option to improve latency at the expense of message throughput (the TCP_NODELAY...
SessionSettings & tradingSystemVersion(const std::string &value)
Sets the trading system version.
const std::string & tradingSystemVersion() const noexcept
SessionSettings & licenseStore(const std::string &value)
Sets the path to the folder that contains license file(s).
const LicenseStores & licenseStores() const noexcept
SessionSettings & threadPoolPolicy(int policy)
Sets the thread pool policy.
SessionSettings & firmId(const std::string &value)
Sets the firm id that was assigned by the exchange.
SessionSettings & licenseAlertingDaysBeforeExpiration(unsigned days)
Sets the number of days to alert before the license expiration.
PortRange localPortRange() const noexcept
int threadPoolPriority() const noexcept
static const int UseOsDefaultSocketBufferSize
Specifies the usage of the operating system default socket buffer size.
unsigned sendSpinningTimeout() const noexcept
unsigned keepAliveInterval() const noexcept
bool localTimeUsage() const noexcept
bool useSpinLock() const noexcept
const std::string & storageDirectory() const noexcept
std::vector< std::string > LicenseStores
Folders that contain license file(s).
const std::string & accessKey() const noexcept
ThreadingModel::Enum threadingModel() const noexcept
unsigned reasonableTransmissionTime() const noexcept
const std::string & logFileName() const noexcept
MessageHeader::Version SchemaVersion
SBE-encoded data version type.
std::pair< Port, Port > PortRange
std::set< CpuIndex > CpuIndexes
Default session settings.
static const int ReasonableTransmissionTime
static const bool TcpNoDelayOption
static const char LogFileName[]
static const bool EnableRxTimestamp
static const int ThreadPoolSize
static const bool ReportNewMessagesWhileWaitingForMissedMessages
static const int ReceiveSpinningTimeout
static const bool IgnoreFileBasedStorageIntegrityErrors
static const bool CreateLogFile
static const bool UseSpinLock
static const unsigned MessageGrouping
static const unsigned AsyncFileBasedStorageQueueMaxSize
static const unsigned long long FileBasedStorageSegmentSize
static const int ReconnectAttempts
static const int SendSpinningTimeout
static const bool LogBeforeSending
static const char LogDir[]
static const int SocketReceiveBufferSize
static const bool LocalTimeUsage
static const unsigned LicenseAlertingDaysBeforeExpiration
static const int KeepAliveInterval
static const char LicenseStore[]
static const bool DetectMessageGapForPreviousUuid
static const int SocketSendBufferSize
static const int ReconnectInterval
static const ThreadingModel::Enum ThreadingModelValue
The keys that are used to load settings from the configuration file.
static const char * AsyncFileBasedStorageThreadAffinity
= "AsyncFileBasedStorage.ThreadAffinity"
static const char * ReconnectAttempts
= "Reconnect.Attempts"
static const char * SocketReceiveBufferSize
= "Socket.ReceiveBufferSize"
static const char * UseSpinLock
= "UseSpinLock"
static const char * DetectMessageGapForPreviousUuid
= "DetectMessageGapForPreviousUuid"
static const char * LicenseStore
= "LicenseStore"
static const char * EnableRxTimestamp
= "EnableRxTimestamp"
static const char * ThreadPoolAffinity
= "ThreadPool.Affinity"
static const char * ReasonableTransmissionTime
= "ReasonableTransmissionTime"
static const char * AsyncFileBasedStorageQueueMaxSize
= "AsyncFileBasedStorage.QueueMaxSize"
static const char * SendSpinningTimeout
= "SendSpinningTimeout"
static const char * LicenseFile
= "LicenseFile"
static const char * ThreadingModel
= "ThreadingModel"
static const char * MessageGrouping
= "MessageGrouping"
static const char * TradingSystemName
= "TradingSystem.Name"
static const char * LogBeforeSending
= "Log.BeforeSending"
static const char * TcpNoDelayOption
= "TcpNoDelayOption"
static const char * FirmId
= "FirmId"
static const char * TradingSystemVendor
= "TradingSystem.Vendor"
static const char * KeepAliveInterval
= "KeepAliveInterval"
static const char * IgnoreFileBasedStorageIntegrityErrors
= "IgnoreFileBasedStorageIntegrityErrors"
static const char * LocalTimeUsage
= "LocalTimeUsage"
static const char * SessionId
= "SessionId"
static const char * ThreadPoolPolicy
= "ThreadPool.Policy"
static const char * SocketSendBufferSize
= "Socket.SendBufferSize"
static const char * ThreadPoolPriority
= "ThreadPool.Priority"
static const char * ReportNewMessagesWhileWaitingForMissedMessages
= "ReportNewMessagesWhileWaitingForMissedMessages"
static const char * FileBasedStorageSegmentSize
= "FileBasedStorageSegmentSize"
static const char * LicenseAlertingDaysBeforeExpiration
= "LicenseAlertingDaysBeforeExpiration"
static const char * LocalNetworkInterface
= "LocalNetworkInterface"
static const char * LogFileName
= "Log.FileName"
static const char * SecretKey
= "SecretKey"
static const char * ReconnectInterval
= "Reconnect.Interval"
static const char * StorageDirectory
= "Log.Directory"
static const char * AccessKey
= "AccessKey"
static const char * MessagingSchemaVersion
= "MessagingSchemaVersion"
static const char * ThreadPoolSize
= "ThreadPool.Size"
static const char * LocalPortRange
= "LocalPortRange"
static const char * ReceiveSpinningTimeout
= "ReceiveSpinningTimeout"
static const char * TradingSystemVersion
= "TradingSystem.Version"
@ Dedicated
Each session has a sender thread and a receiving thread.