EPAM B2BITS ICE Impact Handler C++  1.1.4
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Member Functions | Public Attributes | List of all members
IceImpact::RuntimeParameters Struct Reference

#include <B2BITS_IceImpactApplication.h>

Collaboration diagram for IceImpact::RuntimeParameters:
Collaboration graph
[legend]

Public Member Functions

 RuntimeParameters ()
 

Public Attributes

std::string logDirectory
 
bool useNaturalRefresh
 
bool useNaturalRefreshOnGap_TOB
 
bool useNaturalRefreshOnGap_TOP5
 
bool useNaturalRefreshOnGap_FOD
 
bool logIncomingMessages
 
bool logIncomingBinaryMessages
 
IceImpact::u16 linkDownTimeoutS
 
std::string logConfigFile
 
std::string licenseFile
 
bool useTCP
 
bool useTCPReplay
 
TCPParams tcpParams
 TCP parameters. More...
 
UDPParams udpParams
 UDP parameters. More...
 
SequenceParams sequenceParams
 Sequence parameters. More...
 
SubscriptionParams subscriptionParams
 Subscription parameters. More...
 
PerformanceParameters performanceParams
 PerformanceParameters. More...
 

Detailed Description

IceImpact::Application runtime parameters. These parameters can be global (use same values for all servics), or specified at service level

Constructor & Destructor Documentation

IceImpact::RuntimeParameters::RuntimeParameters ( )
inline

Member Data Documentation

std::string IceImpact::RuntimeParameters::licenseFile

License file Default value: "./b2b_ice_impact.license"

IceImpact::u16 IceImpact::RuntimeParameters::linkDownTimeoutS

Number of seconds before ServiceListener::Notification::LinkDown notification is generated. If this property is set to 0 - LinkXXX notifications are not generated.
Default value = 0

std::string IceImpact::RuntimeParameters::logConfigFile

Logging sub-system configuration file Default value: "./log.properties"

std::string IceImpact::RuntimeParameters::logDirectory

Path of the directory where the log files will be created. Default value: "." - current directory

bool IceImpact::RuntimeParameters::logIncomingBinaryMessages

Log incoming messages to binary files. All incoming UDP and TCP messages will logged to the files in binary format.
Default value: false

Note
Setting this value to true, will impact up the performance.
bool IceImpact::RuntimeParameters::logIncomingMessages

Log incoming messages as text. All incoming UDP messages will logged as text to the log file.
Default value: false

Note
Setting this value to true, will have an impact on performance.
PerformanceParameters IceImpact::RuntimeParameters::performanceParams
SequenceParams IceImpact::RuntimeParameters::sequenceParams

Sequence parameters.

SubscriptionParams IceImpact::RuntimeParameters::subscriptionParams

Subscription parameters.

TCPParams IceImpact::RuntimeParameters::tcpParams

TCP parameters.

UDPParams IceImpact::RuntimeParameters::udpParams

UDP parameters.

bool IceImpact::RuntimeParameters::useNaturalRefresh

This option disables Snapshot recovery and leaves TCP replay enabled. Instead of initiating recovery, service clears books of all instruments. onInstrumentReset event is generated for each affected instrument with ResetReason::rrNaturalRefresh for user reference. The instrument price books are getting gradually populated by incremental book updates coming over UDP. Late join does not initiate Snapshot recovery. Default value: false

Note
Please note that in case of 'natural refresh' state of book is not restored immediately, and there is no way to find out when the book contains consistent data. This mode is for debugging purposes only, to be used in environments with high degree of packet loss Set to true at your own risk.
This setting is not recommended for production use. Default value: false
bool IceImpact::RuntimeParameters::useNaturalRefreshOnGap_FOD

Works similarly to useNaturalRefresh, the difference is that Snapshot recovery is enabled, TCP replay is disabled. This setting affects Full Depth UDP multicast groups only. Instrument book reset and natural refresh is triggered only when UDP data gap is detected, late join and major packet loss triggers Snapshot recovery. Snapshot recovery may be abandoned if gap on the live channel is detected and natural refresh is triggered. When the setting is enabled, the user should be prepared for a loss of some add/delete order messages. Default value: false

bool IceImpact::RuntimeParameters::useNaturalRefreshOnGap_TOB

Works similarly to useNaturalRefresh, the difference is that Snapshot recovery is enabled, TCP replay is disabled. This setting affects Options TOB UDP multicast groups only which carry top of the book data. Instrument book reset and natural refresh is triggered when UDP data gap is detected, late join and major packet loss triggers Snapshot recovery. Snapshot recovery may be abandoned if a gap on the live channel is detected and natural refresh is getting triggered. This is setting is relatively less risky because incremental changes are transactional by nature since there's just one price level sent on Options TOB channels. There's no risk to get wrong prices, but some of other messages like market event or trade may be lost since TCP replay is not used.

Note
This setting is not recommended for production use. Default value: false
bool IceImpact::RuntimeParameters::useNaturalRefreshOnGap_TOP5

Works similarly to useNaturalRefresh, the difference is that Snapshot recovery is enabled, TCP replay is disabled. This setting affects Futures TOP5 UDP multicast groups only (5 price levels). Instrument book reset and natural refresh is triggered only when UDP data gap is detected, late join and major packet loss triggers Snapshot recovery. Snapshot recovery may be abandoned if a gap on the live channel is detected and natural refresh is getting triggered. When the setting is enabled, there's the risk to have incomplete book at certain moments when some levels are available and some are not yet. BBO (top level updates) may sometimes arrive with null values (signifying no TOB level exists) because the last available level may be removed from incomplete book

Note
This setting is not recommended for production use. Default value: false
bool IceImpact::RuntimeParameters::useTCP

Enable/Disable the use of ICE TCP server. When TCP is disabled, TCP replay of dropped packets will not happen, and snapshot recovery (or natural refresh) will be triggered immediately. Also, loading of instruments from ICE via TCP will not be available. Note that it is possible to load instrument definitions from external file.

Note
This setting is not recommended for production use. Default value: true
bool IceImpact::RuntimeParameters::useTCPReplay

Enable/Disable the use of ICE TCP server for replays. When TCP Replay is disabled, retriavle of dropped packets will not happen, and snapshot recovery (or natural refresh) will be triggered immediately.

Note
This setting is not recommended for production use. Default value: true