47 const std::string &
userId() const noexcept
73 const std::string&
rawData() const noexcept
88 return threadingModel_;
101 return receiveSpinningTimeout_;
114 return sendSpinningTimeout_;
131 return messageGrouping_;
158 return licenseStores_;
167 return licenseAlertingDaysBeforeExpiration_;
179 licenseAlertingDaysBeforeExpiration_ = days;
189 return localNetworkInterface_;
207 return storageDirectory_;
222 return localTimeUsage_;
237 return fileBasedStorageSegmentSize_;
250 return asyncFileBasedStorageQueueMaxSize_;
263 return asyncFileBasedStorageThreadAffinity_;
279 return ignoreFileBasedStorageIntegrityErrors_;
292 return logBeforeSending_;
307 return reconnectAttempts_;
320 return reconnectInterval_;
337 return socketReceiveBufferSize_;
353 return reasonableTransmissionTime_;
366 return socketSendBufferSize_;
380 return threadPoolAffinity_;
391 return threadPoolPriority_;
402 return threadPoolPolicy_;
415 return tcpNoDelayOption_;
428 return threadPoolSize_;
441 return keepAliveInterval_;
459 return reportNewMessagesWhileWaitingForMissedMessages_;
476 return localPortRange_;
489 return messagingSchemaVersion_;
511 return enableRxTimestamp_;
551 return loggerOptions_;
641 void processLicenseStores(
const std::string&
licenseStore);
643 unsigned asyncFileBasedStorageQueueMaxSize_;
645 CpuIndexes asyncFileBasedStorageThreadAffinity_;
651 bool ignoreFileBasedStorageIntegrityErrors_;
653 unsigned short keepAliveInterval_;
655 unsigned licenseAlertingDaysBeforeExpiration_;
659 std::string localNetworkInterface_;
661 bool localTimeUsage_;
663 bool logBeforeSending_;
665 unsigned messageGrouping_;
667 unsigned reasonableTransmissionTime_;
669 int receiveSpinningTimeout_;
671 unsigned reconnectAttempts_;
673 unsigned reconnectInterval_;
675 bool reportNewMessagesWhileWaitingForMissedMessages_;
677 std::string rawData_;
679 int sendSpinningTimeout_;
683 int socketReceiveBufferSize_;
685 int socketSendBufferSize_;
687 std::string storageDirectory_;
689 bool tcpNoDelayOption_;
695 int threadPoolPolicy_;
697 int threadPoolPriority_;
699 unsigned threadPoolSize_;
701 std::pair<Port, Port> localPortRange_;
707 bool enableRxTimestamp_;
#define ONIXS_ICEBOE_NAMESPACE_BEGIN
#define ONIXS_ICEBOE_NAMESPACE_END
#define ONIXS_ICEBOE_EXPORTED
#define ONIXS_ICEBOE_NODISCARD
int socketSendBufferSize() const noexcept
LogLevel::Enum logLevel() const noexcept
The default value is LogLevel::Info.
unsigned messageGrouping() const noexcept
SessionSettings & threadPoolSize(unsigned numberOfThreads)
Sets the size of the shared thread pool.
Messaging::Int32 clientId() const noexcept
const std::string & userId() const noexcept
unsigned licenseAlertingDaysBeforeExpiration() const noexcept
SessionSettings & resetToDefaults()
Resets the settings to the default values.
const CpuIndexes & asyncFileBasedStorageThreadAffinity() const noexcept
bool useTLS() 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.
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 & 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 & useTLS(bool value)
Sets the value of the option to enable TLS.
unsigned threadPoolSize() const noexcept
unsigned short keepAliveInterval() const noexcept
SessionSettings & messageGrouping(unsigned value)
Sets the message grouping mode.
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 & 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.
SessionSettings & logLevel(LogLevel::Enum value)
Sets the severity level of log messages.
SessionSettings & keepAliveInterval(unsigned short seconds)
Sets the longest time in seconds the client system can remain silent before sending a message.
unsigned receiveSpinningTimeout() const noexcept
SessionSettings & reasonableTransmissionTime(unsigned percentage)
Sets the reasonable transmission time - as the percentage from the KeepAliveInterval value.
SessionSettings & userId(const std::string &value)
Sets the session id that was assigned by the exchange.
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 & loggerOptions(LogSettings::Enum value)
Sets the the logger options.
SessionSettings & rawData(const std::string &value)
Sets the secret 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
Messaging::UInt64 fileBasedStorageSegmentSize() const noexcept
SessionSettings & receiveSpinningTimeout(unsigned usecTimeout)
Sets the receive spinning timeout (microseconds).
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 & 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.
const std::string & rawData() const noexcept
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
bool localTimeUsage() const noexcept
bool useSpinLock() const noexcept
const std::string & storageDirectory() const noexcept
SessionSettings & clientId(Messaging::Int32 value)
Sets the firm id that was assigned by the exchange.
LogSettings::Enum loggerOptions() const noexcept
std::vector< std::string > LicenseStores
Folders that contain license file(s).
ThreadingModel::Enum threadingModel() const noexcept
unsigned reasonableTransmissionTime() const noexcept
MessageHeader::Version SchemaVersion
SBE-encoded data version type.
std::pair< Port, Port > PortRange
std::set< CpuIndex > CpuIndexes
@ Info
General informational messages about normal operation.
@ Default
Default log settings.
Default session settings.
static const int ReasonableTransmissionTime
static const bool TcpNoDelayOption
static const bool EnableRxTimestamp
static const int ThreadPoolSize
static const bool ReportNewMessagesWhileWaitingForMissedMessages
static const int ReceiveSpinningTimeout
static const bool IgnoreFileBasedStorageIntegrityErrors
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 LogLevel::Enum LogSeverity
static const char LogDir[]
static const int SocketReceiveBufferSize
static const bool LocalTimeUsage
static const unsigned LicenseAlertingDaysBeforeExpiration
static const LogSettings::Enum LoggerOptions
static const char LicenseStore[]
static const int SocketSendBufferSize
static const int ReconnectInterval
static const unsigned short KeepAliveInterval
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 * UserId
= "UserId"
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 * UseTLS
= "UseTLS"
static const char * ThreadingModel
= "ThreadingModel"
static const char * RawData
= "RawData"
static const char * MessageGrouping
= "MessageGrouping"
static const char * LoggerOptions
= "LoggerOptions"
static const char * LogBeforeSending
= "Log.BeforeSending"
static const char * TcpNoDelayOption
= "TcpNoDelayOption"
static const char * KeepAliveInterval
= "KeepAliveInterval"
static const char * IgnoreFileBasedStorageIntegrityErrors
= "IgnoreFileBasedStorageIntegrityErrors"
static const char * LocalTimeUsage
= "LocalTimeUsage"
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 * ReconnectInterval
= "Reconnect.Interval"
static const char * StorageDirectory
= "Log.Directory"
static const char * MessagingSchemaVersion
= "MessagingSchemaVersion"
static const char * ThreadPoolSize
= "ThreadPool.Size"
static const char * LocalPortRange
= "LocalPortRange"
static const char * ReceiveSpinningTimeout
= "ReceiveSpinningTimeout"
static const char * ClientId
= "ClientId"
static const char * LogSeverity
= "LogSeverity"
@ Dedicated
Each session has a sender thread and a receiving thread.