54 SessionSettings&
sessionId(
const std::string & value);
66 SessionSettings&
firmId(
const std::string & value);
78 SessionSettings&
accessKey(
const std::string & value);
90 SessionSettings&
secretKey(
const std::string & value);
97 return tradingSystemName_;
109 return tradingSystemVersion_;
121 return tradingSystemVendor_;
133 return threadingModel_;
145 return receiveSpinningTimeout_;
157 return sendSpinningTimeout_;
173 return messageGrouping_;
189 SessionSettings&
licenseStore(
const std::string & value);
199 return licenseStores_;
207 return licenseAlertingDaysBeforeExpiration_;
218 licenseAlertingDaysBeforeExpiration_ = days;
227 return localNetworkInterface_;
247 SessionSettings&
logFileName(
const std::string & value);
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_;
562 SessionSettings&
load(
const std::string& configFile);
571 static const bool CreateLogFile =
true;
573 static const bool LogBeforeSending =
true;
576 static const bool TcpNoDelayOption =
true;
577 static const int ReceiveSpinningTimeout = 0;
578 static const int SendSpinningTimeout = 0;
579 static const char LicenseStore[] ;
580 static const unsigned LicenseAlertingDaysBeforeExpiration = 0;
581 static const char LogDir[];
582 static const char LogFileName[];
583 static const bool LocalTimeUsage =
false;
584 static const unsigned MessageGrouping = 0;
585 static const int ReasonableTransmissionTime = 20;
586 static const int ReconnectAttempts = 3;
587 static const int ReconnectInterval = 180;
588 static const unsigned long long FileBasedStorageSegmentSize = 0;
589 static const bool IgnoreFileBasedStorageIntegrityErrors =
false;
590 static const int ThreadPoolSize = 0;
591 static const bool ReportNewMessagesWhileWaitingForMissedMessages =
false;
592 static const unsigned AsyncFileBasedStorageQueueMaxSize = UINT_MAX;
593 static const bool DetectMessageGapForPreviousUuid =
true;
594 static const bool UseSpinLock =
false;
595 static const bool EnableRxTimestamp =
false;
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_;
666 LicenseStores licenseStores_;
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_;
const std::string & secretKey() const noexcept
static const char * ReceiveSpinningTimeout
= "ReceiveSpinningTimeout"
static const char * LogFileName
= "Log.FileName"
unsigned sendSpinningTimeout() const noexcept
static const char * MessagingSchemaVersion
= "MessagingSchemaVersion"
unsigned messageGrouping() const noexcept
unsigned keepAliveInterval() const noexcept
unsigned asyncFileBasedStorageQueueMaxSize() const noexcept
static const char * LocalTimeUsage
= "LocalTimeUsage"
const std::string & tradingSystemVersion() const noexcept
static const char * LocalPortRange
= "LocalPortRange"
bool tcpNoDelayOption() const noexcept
int threadPoolPriority() const noexcept
bool ignoreFileBasedStorageIntegrityErrors() const noexcept
static const char * ReportNewMessagesWhileWaitingForMissedMessages
= "ReportNewMessagesWhileWaitingForMissedMessages"
static const char * ThreadPoolPolicy
= "ThreadPool.Policy"
std::vector< std::string > LicenseStores
Folders that contain license file(s).
bool enableRxTimestamp() const noexcept
static const char * LocalNetworkInterface
= "LocalNetworkInterface"
unsigned receiveSpinningTimeout() const noexcept
static const char * AccessKey
= "AccessKey"
static const char * ReconnectInterval
= "Reconnect.Interval"
static const char * FirmId
= "FirmId"
ThreadingModel::Enum threadingModel() const noexcept
static const char * LicenseFile
= "LicenseFile"
static const char * FileBasedStorageSegmentSize
= "FileBasedStorageSegmentSize"
static const char * KeepAliveInterval
= "KeepAliveInterval"
MessageHeader::Version SchemaVersion
SBE-encoded data version type.
static const char * SocketReceiveBufferSize
= "Socket.ReceiveBufferSize"
bool logBeforeSending() const noexcept
static const char * StorageDirectory
= "Log.Directory"
Default session settings.
static const char * LicenseAlertingDaysBeforeExpiration
= "LicenseAlertingDaysBeforeExpiration"
const std::string & sessionId() const noexcept
SessionSettings & licenseStore(const std::string &value)
Sets the path to the folder that contains license file(s).
static const char * ThreadPoolAffinity
= "ThreadPool.Affinity"
const CpuIndexes & asyncFileBasedStorageThreadAffinity() const noexcept
std::string toString() const
static const char * ThreadingModel
= "ThreadingModel"
static const char * SecretKey
= "SecretKey"
std::set< CpuIndex > CpuIndexes
Messaging::UInt64 fileBasedStorageSegmentSize() const noexcept
std::pair< Port, Port > PortRange
PortRange localPortRange() const noexcept
const std::string & localNetworkInterface() const noexcept
const CpuIndexes & threadPoolAffinity() const noexcept
The keys that are used to load settings from the configuration file.
int socketSendBufferSize() const noexcept
bool localTimeUsage() const noexcept
SessionSettings & licenseAlertingDaysBeforeExpiration(unsigned days)
Sets the number of days to alert before the license expiration.
bool useSpinLock() const noexcept
const std::string & accessKey() const noexcept
static const char * TradingSystemVendor
= "TradingSystem.Vendor"
static const char * LogBeforeSending
= "Log.BeforeSending"
bool reportNewMessagesWhileWaitingForMissedMessages() const noexcept
Each session has a sender thread and a receiving thread.
unsigned licenseAlertingDaysBeforeExpiration() const noexcept
static const char * SocketSendBufferSize
= "Socket.SendBufferSize"
const std::string & tradingSystemName() const noexcept
static const char * SendSpinningTimeout
= "SendSpinningTimeout"
static const char * IgnoreFileBasedStorageIntegrityErrors
= "IgnoreFileBasedStorageIntegrityErrors"
int threadPoolPolicy() const noexcept
const LicenseStores & licenseStores() const noexcept
unsigned reconnectInterval() const noexcept
const std::string & storageDirectory() const noexcept
Messaging::SchemaVersion messagingSchemaVersion() const noexcept
static const char * ThreadPoolPriority
= "ThreadPool.Priority"
#define ONIXS_ILINK3_EXPORTED
bool detectMessageGapForPreviousUuid() const noexcept
static const char * MessageGrouping
= "MessageGrouping"
static const char * AsyncFileBasedStorageThreadAffinity
= "AsyncFileBasedStorage.ThreadAffinity"
static const int UseOsDefaultSocketBufferSize
Specifies the usage of the operating system default socket buffer size.
static const char * TcpNoDelayOption
= "TcpNoDelayOption"
static const char * ThreadPoolSize
= "ThreadPool.Size"
static const char * TradingSystemVersion
= "TradingSystem.Version"
static const char * SessionId
= "SessionId"
SessionSettings & load(const std::string &configFile)
Loads the settings from the given configuration file.
const std::string & tradingSystemVendor() const noexcept
SessionSettings & addLicenseStore(const std::string &value)
Adds the path to the folder that contains license file(s).
unsigned threadPoolSize() const noexcept
static const char * ReconnectAttempts
= "Reconnect.Attempts"
static const char * UseSpinLock
= "UseSpinLock"
static const char * EnableRxTimestamp
= "EnableRxTimestamp"
const std::string & firmId() const noexcept
unsigned reconnectAttempts() const noexcept
static const char * DetectMessageGapForPreviousUuid
= "DetectMessageGapForPreviousUuid"
#define ONIXS_ILINK3_NODISCARD
static const char * TradingSystemName
= "TradingSystem.Name"
unsigned reasonableTransmissionTime() const noexcept
int socketReceiveBufferSize() const noexcept
#define ONIXS_ILINK3_NOTHROW
static const char * LicenseStore
= "LicenseStore"
SessionSettings & resetToDefaults()
Resets the settings to the default values.
static const char * AsyncFileBasedStorageQueueMaxSize
= "AsyncFileBasedStorage.QueueMaxSize"
const std::string & logFileName() const noexcept
static const char * ReasonableTransmissionTime
= "ReasonableTransmissionTime"