78 SessionSettings&
accessKey(
const std::string & value);
85 return cancelOnDisconnectType_;
97 return tradingSystemName_;
109 return tradingSystemVersion_;
121 return threadingModel_;
133 return receiveSpinningTimeout_;
145 return sendSpinningTimeout_;
161 return messageGrouping_;
177 SessionSettings&
licenseStore(
const std::string & value);
187 return licenseStores_;
195 return licenseAlertingDaysBeforeExpiration_;
206 licenseAlertingDaysBeforeExpiration_ = days;
215 return localNetworkInterface_;
235 SessionSettings&
logFileName(
const std::string & value);
244 return storageDirectory_;
258 return localTimeUsage_;
272 return fileBasedStorageSegmentSize_;
284 return asyncFileBasedStorageQueueMaxSize_;
296 return asyncFileBasedStorageThreadAffinity_;
311 return ignoreFileBasedStorageIntegrityErrors_;
323 return logBeforeSending_;
337 return reconnectAttempts_;
349 return reconnectInterval_;
365 return socketReceiveBufferSize_;
380 return reasonableTransmissionTime_;
392 return socketSendBufferSize_;
405 return threadPoolAffinity_;
415 return threadPoolPriority_;
425 return threadPoolPolicy_;
437 return tcpNoDelayOption_;
449 return threadPoolSize_;
461 return keepAliveInterval_;
476 return codTimeoutWindow_;
493 return reportNewMessagesWhileWaitingForMissedMessages_;
508 return localPortRange_;
520 return messagingSchemaVersion_;
540 return enableRxTimestamp_;
552 SessionSettings&
load(
const std::string& configFile);
562 static const bool CreateLogFile =
true;
563 static const int KeepAliveInterval = 30000;
564 static const int CodTimeoutWindow = 30000;
565 static const bool LogBeforeSending =
true;
568 static const bool TcpNoDelayOption =
true;
569 static const int ReceiveSpinningTimeout = 0;
570 static const int SendSpinningTimeout = 0;
571 static const char LicenseStore[] ;
572 static const unsigned LicenseAlertingDaysBeforeExpiration = 0;
573 static const char LogDir[];
574 static const char LogFileName[];
575 static const bool LocalTimeUsage =
false;
576 static const unsigned MessageGrouping = 0;
577 static const int ReasonableTransmissionTime = 20;
578 static const int ReconnectAttempts = 3;
579 static const int ReconnectInterval = 180;
580 static const unsigned long long FileBasedStorageSegmentSize = 0;
581 static const bool IgnoreFileBasedStorageIntegrityErrors =
false;
582 static const int ThreadPoolSize = 0;
583 static const bool ReportNewMessagesWhileWaitingForMissedMessages =
false;
584 static const unsigned AsyncFileBasedStorageQueueMaxSize = UINT_MAX;
585 static const bool UseSpinLock =
false;
586 static const bool EnableRxTimestamp =
false;
634 void processLicenseStores(
const std::string& licenseStore);
636 std::string accessKey_;
638 unsigned asyncFileBasedStorageQueueMaxSize_;
640 CpuIndexes asyncFileBasedStorageThreadAffinity_;
642 bool createEngineLogFile_;
644 Messaging::UInt64 fileBasedStorageSegmentSize_;
646 Messaging::UInt32 enteringFirm_;
650 bool ignoreFileBasedStorageIntegrityErrors_;
652 unsigned keepAliveInterval_;
654 unsigned codTimeoutWindow_;
656 unsigned licenseAlertingDaysBeforeExpiration_;
658 std::string licenseFilePath_;
660 LicenseStores licenseStores_;
662 std::string localNetworkInterface_;
664 bool localTimeUsage_;
666 bool logBeforeSending_;
668 std::string logFileName_;
670 unsigned messageGrouping_;
672 unsigned reasonableTransmissionTime_;
674 int receiveSpinningTimeout_;
676 unsigned reconnectAttempts_;
678 unsigned reconnectInterval_;
680 bool reportNewMessagesWhileWaitingForMissedMessages_;
682 int sendSpinningTimeout_;
686 int socketReceiveBufferSize_;
688 int socketSendBufferSize_;
690 std::string storageDirectory_;
692 bool tcpNoDelayOption_;
698 int threadPoolPolicy_;
700 int threadPoolPriority_;
702 unsigned threadPoolSize_;
704 std::string tradingSystemName_;
706 std::string tradingSystemVersion_;
708 std::pair<Port, Port> localPortRange_;
714 bool enableRxTimestamp_;
const std::string & tradingSystemName() const noexcept
unsigned reconnectAttempts() const noexcept
static const char * ReconnectInterval
= "Reconnect.Interval"
unsigned asyncFileBasedStorageQueueMaxSize() const noexcept
Messaging::CancelOnDisconnectType::Enum cancelOnDisconnectType() const noexcept
static const char * MessageGrouping
= "MessageGrouping"
std::pair< Port, Port > PortRange
const std::string & tradingSystemVersion() const noexcept
Messaging::SchemaVersion messagingSchemaVersion() const noexcept
bool localTimeUsage() const noexcept
bool ignoreFileBasedStorageIntegrityErrors() const noexcept
static const char * FileBasedStorageSegmentSize
= "FileBasedStorageSegmentSize"
static const int UseOsDefaultSocketBufferSize
Specifies the usage of the operating system default socket buffer size.
MessageHeader::Version SchemaVersion
SBE-encoded data version type.
#define ONIXS_B3_BOE_NOTHROW
static const char * KeepAliveInterval
= "KeepAliveInterval"
bool reportNewMessagesWhileWaitingForMissedMessages() const noexcept
const std::string & logFileName() const noexcept
unsigned messageGrouping() const noexcept
std::string toString() const
#define ONIXS_B3_BOE_EXPORTED
SessionSettings & licenseStore(const std::string &value)
Sets the path to the folder that contains license file(s).
static const char * LicenseAlertingDaysBeforeExpiration
= "LicenseAlertingDaysBeforeExpiration"
static const char * LocalNetworkInterface
= "LocalNetworkInterface"
Messaging::SessionID sessionId() const noexcept
static const char * TradingSystemName
= "TradingSystem.Name"
static const char * ThreadPoolAffinity
= "ThreadPool.Affinity"
static const char * SocketReceiveBufferSize
= "Socket.ReceiveBufferSize"
SessionSettings & addLicenseStore(const std::string &value)
Adds the path to the folder that contains license file(s).
UInt32 SessionID
Client connection identification on the gateway assigned by B3.
unsigned keepAliveInterval() const noexcept
static const char * TcpNoDelayOption
= "TcpNoDelayOption"
static const char * LicenseStore
= "LicenseStore"
unsigned codTimeoutWindow() const noexcept
unsigned reconnectInterval() const noexcept
static const char * TradingSystemVersion
= "TradingSystem.Version"
int socketReceiveBufferSize() const noexcept
const std::string & localNetworkInterface() const noexcept
#define ONIXS_B3_BOE_NODISCARD
static const char * CodTimeoutWindow
= "CodTimeoutWindow"
static const char * IgnoreFileBasedStorageIntegrityErrors
= "IgnoreFileBasedStorageIntegrityErrors"
unsigned receiveSpinningTimeout() const noexcept
static const char * LocalPortRange
= "LocalPortRange"
std::set< CpuIndex > CpuIndexes
unsigned sendSpinningTimeout() const noexcept
static const char * AccessKey
= "AccessKey"
Messaging::UInt64 fileBasedStorageSegmentSize() const noexcept
static const char * StorageDirectory
= "Log.Directory"
ThreadingModel::Enum threadingModel() const noexcept
const CpuIndexes & asyncFileBasedStorageThreadAffinity() const noexcept
static const char * EnteringFirm
= "EnteringFirm"
bool useSpinLock() const noexcept
int threadPoolPolicy() const noexcept
unsigned licenseAlertingDaysBeforeExpiration() const noexcept
static const char * ThreadPoolPolicy
= "ThreadPool.Policy"
Default session settings.
static const char * ThreadPoolPriority
= "ThreadPool.Priority"
Criteria used to initiate cancel on disconnect mechanism by the gateway.
static const char * LicenseFile
= "LicenseFile"
SessionSettings & load(const std::string &configFile)
Loads the settings from the given configuration file.
static const char * ThreadPoolSize
= "ThreadPool.Size"
Messaging::UInt32 enteringFirm() const noexcept
static const char * ReportNewMessagesWhileWaitingForMissedMessages
= "ReportNewMessagesWhileWaitingForMissedMessages"
The keys that are used to load settings from the configuration file.
static const char * AsyncFileBasedStorageThreadAffinity
= "AsyncFileBasedStorage.ThreadAffinity"
std::vector< std::string > LicenseStores
Folders that contain license file(s).
int socketSendBufferSize() const noexcept
static const char * SessionId
= "SessionId"
static const char * MessagingSchemaVersion
= "MessagingSchemaVersion"
SessionSettings & licenseAlertingDaysBeforeExpiration(unsigned days)
Sets the number of days to alert before the license expiration.
SessionSettings & resetToDefaults()
Resets the settings to the default values.
bool logBeforeSending() const noexcept
bool tcpNoDelayOption() const noexcept
const CpuIndexes & threadPoolAffinity() const noexcept
static const char * LogBeforeSending
= "Log.BeforeSending"
static const char * ReasonableTransmissionTime
= "ReasonableTransmissionTime"
static const char * AsyncFileBasedStorageQueueMaxSize
= "AsyncFileBasedStorage.QueueMaxSize"
unsigned threadPoolSize() const noexcept
const std::string & storageDirectory() const noexcept
static const char * LogFileName
= "Log.FileName"
static const char * ThreadingModel
= "ThreadingModel"
Each session has a sender thread and a receiving thread.
const std::string & accessKey() const noexcept
unsigned reasonableTransmissionTime() const noexcept
static const char * EnableRxTimestamp
= "EnableRxTimestamp"
static const char * SendSpinningTimeout
= "SendSpinningTimeout"
bool enableRxTimestamp() const noexcept
Enum
Criteria used to initiate cancel on disconnect mechanism by the gateway.
DoNotCancelOnDisconnectOrTerminate.
static const char * CancelOnDisconnectType
= "CancelOnDisconnectType"
int threadPoolPriority() const noexcept
static const char * LocalTimeUsage
= "LocalTimeUsage"
static const char * ReconnectAttempts
= "Reconnect.Attempts"
static const char * UseSpinLock
= "UseSpinLock"
PortRange localPortRange() const noexcept
const LicenseStores & licenseStores() const noexcept
static const char * SocketSendBufferSize
= "Socket.SendBufferSize"
static const char * ReceiveSpinningTimeout
= "ReceiveSpinningTimeout"