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_;
549 SessionSettings&
load(
const std::string& configFile);
558 static const bool CreateLogFile =
true;
560 static const bool LogBeforeSending =
true;
563 static const bool TcpNoDelayOption =
true;
564 static const int ReceiveSpinningTimeout = 0;
565 static const int SendSpinningTimeout = 0;
566 static const char LicenseStore[] ;
567 static const unsigned LicenseAlertingDaysBeforeExpiration = 0;
568 static const char LogDir[];
569 static const char LogFileName[];
570 static const bool LocalTimeUsage =
false;
571 static const unsigned MessageGrouping = 0;
572 static const int ReasonableTransmissionTime = 20;
573 static const int ReconnectAttempts = 3;
574 static const int ReconnectInterval = 180;
575 static const unsigned long long FileBasedStorageSegmentSize = 0;
576 static const bool IgnoreFileBasedStorageIntegrityErrors =
false;
577 static const int ThreadPoolSize = 0;
578 static const bool ReportNewMessagesWhileWaitingForMissedMessages =
false;
579 static const unsigned AsyncFileBasedStorageQueueMaxSize = UINT_MAX;
580 static const bool DetectMessageGapForPreviousUuid =
true;
581 static const bool UseSpinLock =
false;
629 void processLicenseStores(
const std::string& licenseStore);
631 std::string accessKey_;
633 unsigned asyncFileBasedStorageQueueMaxSize_;
635 CpuIndexes asyncFileBasedStorageThreadAffinity_;
637 bool createEngineLogFile_;
643 bool ignoreFileBasedStorageIntegrityErrors_;
645 unsigned keepAliveInterval_;
647 unsigned licenseAlertingDaysBeforeExpiration_;
649 std::string licenseFilePath_;
651 LicenseStores licenseStores_;
653 std::string localNetworkInterface_;
655 bool localTimeUsage_;
657 bool logBeforeSending_;
659 std::string logFileName_;
661 unsigned messageGrouping_;
663 unsigned reasonableTransmissionTime_;
665 int receiveSpinningTimeout_;
667 unsigned reconnectAttempts_;
669 unsigned reconnectInterval_;
671 bool reportNewMessagesWhileWaitingForMissedMessages_;
673 std::string secretKey_;
675 int sendSpinningTimeout_;
677 std::string sessionId_;
679 int socketReceiveBufferSize_;
681 int socketSendBufferSize_;
683 std::string storageDirectory_;
685 bool tcpNoDelayOption_;
691 int threadPoolPolicy_;
693 int threadPoolPriority_;
695 unsigned threadPoolSize_;
697 std::string tradingSystemName_;
699 std::string tradingSystemVendor_;
701 std::string tradingSystemVersion_;
703 std::pair<Port, Port> localPortRange_;
707 bool detectMessageGapForPreviousUuid_;
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).
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"
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"