OnixS ICE iMpact Multicast Feed Handler for C++  3.13.0.0
Public Member Functions | Public Attributes | List of all members
HandlerSettings Struct Reference

Defines set of settings which affect behavior of the Handler. More...

Public Member Functions

 HandlerSettings ()
 Initializes instance with default values for control parameters.
 
std::string toString () const
 Returns string representation.
 

Public Attributes

std::string licenseDirectory
 Path to the license directory. More...
 
std::string logDirectory
 Log files are stored in this directory. More...
 
std::string logFileNamePrefix
 Template of log file name without extension. More...
 
LogLevel logLevel
 Log verbosity. More...
 
AdvancedLogOptionSet advancedLogOptions
 Additional options to control which data is to be logged. More...
 
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.
 
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. More...
 
size_t udpBufferSize
 This option determines the size in bytes of a buffer that is used by multicast transport. More...
 
time_t heartbeatInterval
 Specifies maximal time interval in seconds between two network packets. More...
 
size_t sequenceGapMargin
 Specifies maximal sequence gap margin between first and last received network packets in internal queue. More...
 
size_t gapTimeoutInMilliseconds
 Specifies maximal time interval in milliseconds to wait network packet with next expected sequence number. More...
 
SnapshotRecoveryOptions snapshotRecoveryOptions
 Specifies snapshot recovery options.
 
ThreadAffinity processingThreadAffinity
 Defines set of CPUs by their indices (starting from zero) allowed for thread used by the Handler while processing market data to be executed on. More...
 
LogList logs
 List of logs to be replated. More...
 
LogReplayInputStream * inputStream
 User defined input stream for log replay logs will be ignored.
 
float logPlayerSpeedMultiplier
 Log player speed multiplier. More...
 
unsigned logPlayerSpeedAuxDelay
 Log player speed auxilary delay. More...
 
bool trackTopOfTheBookOnly
 Track top of the book only. More...
 
bool receiveProductDefinitionsOnly
 Receive product definitions only. More...
 
size_t maxMulticastMessageBlockSize
 Max multicast message block size. More...
 
std::string productDefinitionCacheDirectory
 Path to the product definition cache directory. More...
 

Detailed Description

Defines set of settings which affect behavior of the Handler.

Member Data Documentation

AdvancedLogOptionSet advancedLogOptions

Additional options to control which data is to be logged.

Ignored if logging is disabled.

Note
The default value is AdvancedLogOptions::Default.
size_t gapTimeoutInMilliseconds

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

Note
Default value is 10000.
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.
std::string licenseDirectory

Path to the license directory.

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

Log files are stored in this directory.

Note
Default value is "./" (the current directory).
std::string logFileNamePrefix

Template of log file name without extension.

Note
Default value is "IceImpactMulticastPriceFeedHandlerCpp".
LogLevel logLevel

Log verbosity.

Note
Default value is LogLevels::Info.
unsigned logPlayerSpeedAuxDelay

Log player speed auxilary delay.

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

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, greather than 1 means increased speed. Default value is 1.0 which means a normal speed.

LogList logs

List of logs to be replated.

Attention
Must be stored in 'oldest to recent' order.
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 mulsticast message block.

By default, the size set at 1400 bytes.

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 specifed by its name, on Windows - by IP address.
If the value is empty or absent then the default networking interface is used.
ThreadAffinity processingThreadAffinity

Defines set of CPUs by their indices (starting from zero) allowed for thread used by the Handler while processing market data to be executed on.

Note
By default set is empty thus allowing threads to be executed on any CPU available in the system.
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).
bool receiveProductDefinitionsOnly

Receive product definitions only.

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

Default value is false.

size_t sequenceGapMargin

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

Note
Default value is 10000.
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.

size_t udpBufferSize

This option determines the size in bytes of a buffer that is used by multicast transport.

By default, buffer size is 4MiB (4194304 bytes).

Attention
On Linux, the kernel doubles this value (to allow space for bookkeeping overhead) when it is set using setsockopt, and this doubled value is returned by getsockopt. For more details please see man 6 socket.