OnixS ICE iMpact Multicast Price Feed Handler C++ library 8.18.0
API documentation
Loading...
Searching...
No Matches
HandlerSettings Struct Reference

Public Member Functions

 HandlerSettings ()
std::string toString () const

Public Attributes

std::string licenseString
std::string licenseDirectory
std::string logDirectory
std::string logFileNamePrefix
LogLevel logLevel
AdvancedLogOptionSet advancedLogOptions
std::string connectivityConfiguration
std::string networkInterface
time_t heartbeatInterval
std::size_t sequenceGapMargin
std::size_t gapTimeoutInMilliseconds
SnapshotRecoveryOptions snapshotRecoveryOptions
LogList logs
LogReplayInputStreaminputStream
float logPlayerSpeedMultiplier
unsigned logPlayerSpeedAuxDelay
bool trackTopOfTheBookOnly
bool receiveProductDefinitionsOnly
std::size_t maxMulticastMessageBlockSize
std::string productDefinitionCacheDirectory
RegexSet errorResponseWarningPatterns
bool useHistoricalReplay

Detailed Description

Definition at line 87 of file HandlerSettings.h.

Constructor & Destructor Documentation

◆ HandlerSettings()

Initializes instance with default values for control parameters.

Member Function Documentation

◆ toString()

std::string toString ( ) const

Returns string representation.

Member Data Documentation

◆ advancedLogOptions

AdvancedLogOptionSet advancedLogOptions

Additional options to control which data is to be logged. Ignored if logging is disabled.

Note
The default value is AdvancedLogOptions::Default.

Definition at line 132 of file HandlerSettings.h.

◆ connectivityConfiguration

std::string connectivityConfiguration

Defines path to connectivity configuration which defines multicast groups, types of markets which belong to the groups and connection info for multicast feeds for the groups.

Definition at line 139 of file HandlerSettings.h.

◆ errorResponseWarningPatterns

RegexSet errorResponseWarningPatterns

A set of regular expressions which will be used to check if Error Response should be treated as error or warning.

By default, includes the following regular expressions:

"No .*markets for market type .*"

Definition at line 258 of file HandlerSettings.h.

◆ gapTimeoutInMilliseconds

std::size_t gapTimeoutInMilliseconds

Specifies maximal time interval in milliseconds to wait network packet with next expected sequence number.

Note
Default value is 10000.

Definition at line 177 of file HandlerSettings.h.

◆ heartbeatInterval

time_t heartbeatInterval

Specifies maximal time interval in seconds between two network packets. If no data is received during specified time frame, warning is reported.

Note
The default value is 36000.

Definition at line 161 of file HandlerSettings.h.

◆ inputStream

LogReplayInputStream* inputStream

User defined input stream for log replay logs will be ignored.

Definition at line 190 of file HandlerSettings.h.

◆ licenseDirectory

std::string licenseDirectory

Path to the license directory.

Note
Default value is "./" (the current directory).
A home directory also used to search a license.

Definition at line 103 of file HandlerSettings.h.

◆ licenseString

std::string licenseString

Content of the license file as a string.

Note
Default value is empty string.
The Handler checks this license first.

Definition at line 95 of file HandlerSettings.h.

◆ logDirectory

std::string logDirectory

Log files are stored in this directory.

Note
Default value is "./" (the current directory).

Definition at line 110 of file HandlerSettings.h.

◆ logFileNamePrefix

std::string logFileNamePrefix

Template of log file name without extension.

Note
Default value is "IceImpactMulticastPriceFeedHandlerCpp".

Definition at line 117 of file HandlerSettings.h.

◆ logLevel

LogLevel logLevel

Log verbosity.

Note
Default value is LogLevels::Info.

Definition at line 124 of file HandlerSettings.h.

◆ logPlayerSpeedAuxDelay

unsigned logPlayerSpeedAuxDelay

Log player speed auxiliary delay.

This is an \( k \) in the formula \( mT+k \) to calculate delays between packets, where \( T \) is original delay. Default value is 0.

Definition at line 207 of file HandlerSettings.h.

◆ logPlayerSpeedMultiplier

float logPlayerSpeedMultiplier

Log player speed multiplier.

This is an \( m \) in the formula \( mT+k \) to calculate delays between packets, where \( T \) is original delay. Values less than 1 means reduced speed, greater than 1 means increased speed. Default value is 0.0 which means a normal speed.

Definition at line 199 of file HandlerSettings.h.

◆ logs

LogList logs

List of logs to be replated.

Attention
Must be stored in 'oldest to recent' order.

Definition at line 187 of file HandlerSettings.h.

◆ maxMulticastMessageBlockSize

std::size_t maxMulticastMessageBlockSize

Max multicast message block size.

This option determines the size in bytes of a buffer that is used as a storage for the incoming multicast message block.

By default, the size set at 1400 bytes.

Definition at line 235 of file HandlerSettings.h.

◆ networkInterface

std::string networkInterface

Specifies one or more network interfaces to use while joining the multicast group; use semi-colon delimited list if more than one.

Note
On Linux the network interface is specified by its name, on Windows - by IP address.
If the value is empty or absent then the default networking interface is used.

Definition at line 152 of file HandlerSettings.h.

◆ productDefinitionCacheDirectory

std::string productDefinitionCacheDirectory

Path to the product definition cache directory.

If a value is set and it is a valid path to a directory, the product definition cache will be created and used on the daily basis. If the value is not set, the cache will not be created an product definitions will be downloaded by establishing a TCP connection to ICE server.

Note
Default value is empty string (cache is disabled).

Definition at line 248 of file HandlerSettings.h.

◆ receiveProductDefinitionsOnly

bool receiveProductDefinitionsOnly

Receive product definitions only.

This flag should be set to true when only product definitions are needed.

Default value is false.

Definition at line 225 of file HandlerSettings.h.

◆ sequenceGapMargin

std::size_t sequenceGapMargin

Specifies maximal sequence gap margin between first and last received network packets in internal queue.

Note
Default value is 10000.

Definition at line 169 of file HandlerSettings.h.

◆ snapshotRecoveryOptions

SnapshotRecoveryOptions snapshotRecoveryOptions

Specifies snapshot recovery options.

Definition at line 180 of file HandlerSettings.h.

◆ trackTopOfTheBookOnly

bool trackTopOfTheBookOnly

Track top of the book only.

This flag should be set to true when only top of the book updates are needed.

Default value is false.

Definition at line 216 of file HandlerSettings.h.

◆ useHistoricalReplay

bool useHistoricalReplay

Use Historical Replay recovery.

In case of message gap, the Handler will try to fill it with Historical Replay Request over TCP connection to get missing messages with corresponding sequence numbers.

Default value is false.

Definition at line 269 of file HandlerSettings.h.