Handler's configuration settings. More...
Public Member Functions | |
HandlerSettings () | |
Initializes parameters with default values. | |
~HandlerSettings () | |
Cleans everything up. | |
std::string | toString () const |
Returns textual presentation. | |
void | toString (std::string &) const |
Returns textual presentation. | |
Public Member Functions inherited from InitializationSettings | |
InitializationSettings () | |
Initializes settings with default values. | |
~InitializationSettings () | |
Cleans up all resources. | |
std::string | toString () const |
Returns the text representation. | |
void | toString (std::string &) const |
Appends the text representation. | |
Public Attributes | |
String | channelId |
ID of the CME FIX/FAST market data channel from the channels configuration XML file. More... | |
String | channelsConfigurationFile |
Path to the channels configuration XML file. | |
String | codingTemplatesFile |
Path to CME FAST templates xml file. | |
bool | cacheSecurityDefinitions |
Option to use file-based caching of the security definitions. More... | |
bool | recoverSecurityDefinitionsOnGap |
Option to recover the Security Definition messages each time when the message sequence gap is detected. More... | |
unsigned int | directBookDepth |
Defines depth of direct order book for the instrument whose definition wasn't received or had no corresponding data. More... | |
unsigned int | impliedBookDepth |
Defines depth of implied order book for the instrument whose definition wasn't received or had no corresponding data. More... | |
bool | useTcpReplay |
Option to use the TCP Replay feed. More... | |
String | tcpReplayUsername |
User identifier or username to be used in the Logon (35=A) message from customer to CME. More... | |
String | tcpReplayPassword |
Password or passphrase to be used in the Logon (35=A) message from customer to CME. More... | |
unsigned int | tcpReplayReconnectAttempts |
Number of attempts to receive missed messages via the TCP Replay Channel. More... | |
unsigned int | tcpReplayReconnectInterval |
Interval between the attempts to receive missed packets via the TCP Replay feed if previous attempt either failed or was rejected. More... | |
unsigned int | tcpReplayRequestTimeframe |
Amount of time allocated to process TCP replay request. More... | |
bool | useIncrementalFeedA |
Option to use the Incremental feed "A". More... | |
bool | useIncrementalFeedB |
Option to use the Incremental feed "B". More... | |
bool | useInstrumentReplayFeedA |
Option to use the Instrument Replay feed "A". More... | |
bool | useInstrumentReplayFeedB |
Option to use the Instrument Replay feed "B". More... | |
bool | useSnapshotFeedA |
Option to use the Snapshot feed "A". More... | |
bool | useSnapshotFeedB |
Option to use the Snapshot feed "B". More... | |
unsigned int | heartbeatInterval |
Specifies maximal time interval between two network packets. More... | |
LogMode | logMode |
Specifies whether the Handler should log its events and which of events should be put into the log. More... | |
AdvancedLogOptionSet | advancedLogOptions |
Additional options to control which data is to be logged. More... | |
String | logDirectory |
Log files are stored in this directory. More... | |
String | logFileNamePrefix |
Log file name are started from the prefix. More... | |
long long | logFileSizeLimit |
Log file size limit (in bytes). More... | |
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... | |
String | networkInterfaceA |
Specifies one or more network interfaces to use for "A" feeds while joining the multicast group; use semi-colon delimited list if more than one. More... | |
String | networkInterfaceB |
Specifies one or more network interfaces to use for "B" feeds while joining the multicast group; use semi-colon delimited list if more than one. More... | |
unsigned int | packetQueueMaxSize |
Maximum number of packets to be hold in internal queues used by the Handler while processing incoming market data. More... | |
unsigned int | maxPacketSize |
Max size for network packet transmitted by MDP. More... | |
unsigned int | packetPoolMaxSize |
Limits packet pool size. More... | |
unsigned int | outOfOrderPacketMaxInterval |
Defines value of threshold used by Handler to differ out-of-order packets from gaps. More... | |
unsigned int | lostPacketWaitTime |
Indicates for how long Handler should wait for the packet before it's considered as totally lost. More... | |
unsigned int | udpSocketBufferSize |
Defines size of buffer in bytes for UDP/multicast sockets. More... | |
unsigned int | tcpSocketReceiveBufferSize |
Defines size of buffer in bytes for TCP replay receiving socket. More... | |
ThreadAffinity | threadsAffinity |
Defines set of CPUs by their indices (starting from zero) allowed for each thread used by the Handler while processing market data to be executed on. More... | |
PacketsPullingStrategy | packetsPullingStrategy |
Defines market data processing strategy. More... | |
unsigned int | repeatingGroupEntriesMaxCount |
Maximum number of repeating group entries. More... | |
unsigned int | ioCompletionWaitTime |
Defines amount of time Handler spends on socket waiting for I/O completion result. More... | |
bool | useUniversalTime |
Indicates whether local or UTC time is used by the Handler while assigning timestamps to log events and packets received. More... | |
bool | forceDirectBookMaintenance |
Forces Handler to build direct order book. More... | |
bool | forceImpliedBookMaintenance |
Forces Handler to build implied order book. More... | |
bool | forceConsolidatedBookMaintenance |
Forces Handler to build consolidated order book. More... | |
BookUpdateNotificationStrategy | bookUpdateNotificationStrategy |
Book update notification strategy. More... | |
Public Attributes inherited from InitializationSettings | |
String | licenseStore |
Path to the folder in which licenses are stored. More... | |
Handler's configuration settings.
AdvancedLogOptionSet advancedLogOptions |
Additional options to control which data is to be logged.
Ignored if logging is disabled.
BookUpdateNotificationStrategy bookUpdateNotificationStrategy |
Book update notification strategy.
Defines the way Handler raises order book update event.
bool cacheSecurityDefinitions |
Option to use file-based caching of the security definitions.
String channelId |
ID of the CME FIX/FAST market data channel from the channels configuration XML file.
unsigned int directBookDepth |
Defines depth of direct order book for the instrument whose definition wasn't received or had no corresponding data.
bool forceConsolidatedBookMaintenance |
bool forceDirectBookMaintenance |
bool forceImpliedBookMaintenance |
unsigned int heartbeatInterval |
Specifies maximal time interval between two network packets.
If no data is received during specified time frame, warning is reported.
Interval is measured in seconds.
unsigned int impliedBookDepth |
Defines depth of implied order book for the instrument whose definition wasn't received or had no corresponding data.
unsigned int ioCompletionWaitTime |
String logDirectory |
Log files are stored in this directory.
Ignored if logging is disabled.
String logFileNamePrefix |
Log file name are started from the prefix.
Ignored if logging is disabled.
long long logFileSizeLimit |
Log file size limit (in bytes).
Handler detaches logged data into separate file upon reaching given size limit.
LogMode logMode |
Specifies whether the Handler should log its events and which of events should be put into the log.
unsigned int lostPacketWaitTime |
Indicates for how long Handler should wait for the packet before it's considered as totally lost.
Due to unreliable nature of multicast, data transmitted by MDP may come in order other than original or be completely lost. When Handler receives packet with sequence number greater than expected, it considers received data as out-of-order. If for a certain time interval Handler receives missing data, Handler resumes normal data processing. However, if no data is received for predefined time frame, Handler considers missing data as lost and raises packet gap event. Given parameter defines size of time interval Handler waits for missing data.
Time interval is measured in microseconds (usec).
unsigned int maxPacketSize |
Max size for network packet transmitted by MDP.
String networkInterface |
Specifies one or more network interfaces to use while joining the multicast group; use semi-colon delimited list if more than one.
String networkInterfaceA |
Specifies one or more network interfaces to use for "A" feeds while joining the multicast group; use semi-colon delimited list if more than one.
String networkInterfaceB |
Specifies one or more network interfaces to use for "B" feeds while joining the multicast group; use semi-colon delimited list if more than one.
unsigned int outOfOrderPacketMaxInterval |
Defines value of threshold used by Handler to differ out-of-order packets from gaps.
Due to unreliable nature of multicast, packets transmitted by MDP may be received in the order different to original. To differ the case when Handler received out-of-order packets from the case when some of packets were completely lost, Handler uses given parameter. It defines size of interval for incoming packets starting from the last received. Packet is considered as out-of-order if its sequence number fits into interval [seqNumberOfLastReceivedPacket, seqNumberOfLastReceivedPacket + outOfOrderPacketsMaxInterval]. In that case Handler waits for other packets to fulfill the incoming sequence. If received packet has greater sequence number than 'seqNumberOfLastReceivedPacket + outOfOrderPacketsMaxInterval', then Handler makes a decision on packets lost and gap is reported.
unsigned int packetPoolMaxSize |
Limits packet pool size.
To speed-up data processing, Handler may accumulate packets for further reuse during data bursts to avoid slowdowns caused by memory allocations. Given parameter defines maximal number of packets allowed for storing in pool for further reuse.
unsigned int packetQueueMaxSize |
Maximum number of packets to be hold in internal queues used by the Handler while processing incoming market data.
Handler uses internal queues while processes incoming market data. When Handler recovers order books from snapshots, given parameter limits size of internal queue used by the Handler to keep packets coming from incremental feeds. Upon reaching limit, newer packets substitute older ones.
Also, if Handler configured to use buffered packets pulling strategy (
PacketsPullingStrategy packetsPullingStrategy |
Defines market data processing strategy.
bool recoverSecurityDefinitionsOnGap |
Option to recover the Security Definition messages each time when the message sequence gap is detected.
During the trading day new instruments can be defined, and these security definitions are sent over the Incremental A and B feeds. Therefore it is possible to miss new intra-day security definition messages, so it could be required to listen to the instrument feed again on a message gap.
On the other hand, this could significantly increase the time of re-synchronization with the market after the detected message gap.
unsigned int repeatingGroupEntriesMaxCount |
Maximum number of repeating group entries.
This setting could be used to detect mismatch between the FAST template that was used for message encoding and the FAST template that is used for message decoding.
String tcpReplayPassword |
Password or passphrase to be used in the Logon (35=A) message from customer to CME.
unsigned int tcpReplayReconnectAttempts |
Number of attempts to receive missed messages via the TCP Replay Channel.
unsigned int tcpReplayReconnectInterval |
Interval between the attempts to receive missed packets via the TCP Replay feed if previous attempt either failed or was rejected.
Interval is measured in milliseconds.
unsigned int tcpReplayRequestTimeframe |
Amount of time allocated to process TCP replay request.
Handler interrupts request processing if it doesn't accomplish within given time frame.
Interval is measured in seconds.
String tcpReplayUsername |
User identifier or username to be used in the Logon (35=A) message from customer to CME.
unsigned int tcpSocketReceiveBufferSize |
Defines size of buffer in bytes for TCP replay receiving socket.
ThreadAffinity threadsAffinity |
Defines set of CPUs by their indices (starting from zero) allowed for each thread used by the Handler while processing market data to be executed on.
unsigned int udpSocketBufferSize |
Defines size of buffer in bytes for UDP/multicast sockets.
bool useIncrementalFeedA |
Option to use the Incremental feed "A".
bool useIncrementalFeedB |
Option to use the Incremental feed "B".
bool useInstrumentReplayFeedA |
Option to use the Instrument Replay feed "A".
bool useInstrumentReplayFeedB |
Option to use the Instrument Replay feed "B".
bool useSnapshotFeedA |
Option to use the Snapshot feed "A".
bool useSnapshotFeedB |
Option to use the Snapshot feed "B".
bool useTcpReplay |
Option to use the TCP Replay feed.
bool useUniversalTime |
Indicates whether local or UTC time is used by the Handler while assigning timestamps to log events and packets received.