OnixS C++ B3 Binary UMDF Market Data Handler 1.10.0
Users' manual and API documentation
Loading...
Searching...
No Matches
HandlerSettings Struct Reference

#include <OnixS/B3/MarketData/UMDF/HandlerSettings.h>

Public Member Functions

std::string toString () const
HandlerSettingsloadFeeds (int channelId, const std::string &channelConfigFile)

Static Public Member Functions

static void gatherChannelIds (std::vector< int > &channelIds, const std::string &channelConfigFile)

Public Attributes

LoggerSettings loggerSettings
std::string licenseString
std::string licenseDirectory
FeedEnginefeedEngine = nullptr
std::string networkInterface
std::string networkInterfaceA
std::string networkInterfaceB
UInt32 heartbeatInterval = 3
UInt32 outOfOrderPacketMaxInterval = 3
UInt32 lostPacketWaitTime = 100000
FeedGroup instrumentFeeds
FeedGroup incrementalFeeds
FeedGroup snapshotFeeds
bool buildOrderBooks = false
OrderBookPoolorderBookPool = nullptr
size_t orderBookDepth = FullOrderBookDepth
bool startIncrementalFeedsAfterInstrumentRecovery = false
bool discardQueuedIncrementalPacketsIncludedInSnapshots = false
size_t incrementalQueueSize = 50000

Static Public Attributes

static constexpr size_t FullOrderBookDepth = std::numeric_limits<UInt32>::max()

Detailed Description

Definition at line 93 of file HandlerSettings.h.

Member Function Documentation

◆ gatherChannelIds()

void gatherChannelIds ( std::vector< int > & channelIds,
const std::string & channelConfigFile )
static

Gathers channel ids from the given channel configuration file.

◆ loadFeeds()

HandlerSettings & loadFeeds ( int channelId,
const std::string & channelConfigFile )

Loads channel feed settings from the given channel configuration file.

◆ toString()

std::string toString ( ) const
inline

Returns the string representation.

Definition at line 223 of file HandlerSettings.h.

Member Data Documentation

◆ buildOrderBooks

bool buildOrderBooks = false

Build order books.

Definition at line 198 of file HandlerSettings.h.

◆ discardQueuedIncrementalPacketsIncludedInSnapshots

bool discardQueuedIncrementalPacketsIncludedInSnapshots = false

Discard queued incremental packets included in snapshots.

Definition at line 217 of file HandlerSettings.h.

◆ feedEngine

FeedEngine* feedEngine = nullptr

Feed engine.

Definition at line 105 of file HandlerSettings.h.

◆ FullOrderBookDepth

size_t FullOrderBookDepth = std::numeric_limits<UInt32>::max()
staticconstexpr

Max depth of the order book.

Definition at line 205 of file HandlerSettings.h.

◆ heartbeatInterval

UInt32 heartbeatInterval = 3

Specifies maximal time interval between two network packets.

If no data is received during specified time frame, corresponding warning is raised.

Interval is measured in seconds.

Definition at line 139 of file HandlerSettings.h.

◆ incrementalFeeds

FeedGroup incrementalFeeds

Incremental multicast feeds.

Definition at line 192 of file HandlerSettings.h.

◆ incrementalQueueSize

size_t incrementalQueueSize = 50000

Max incremental queue size.

Definition at line 220 of file HandlerSettings.h.

◆ instrumentFeeds

FeedGroup instrumentFeeds

Instrument definition multicast feeds.

Definition at line 189 of file HandlerSettings.h.

◆ licenseDirectory

std::string licenseDirectory

Path to the license directory.

Definition at line 102 of file HandlerSettings.h.

◆ licenseString

std::string licenseString

License string.

Definition at line 99 of file HandlerSettings.h.

◆ loggerSettings

LoggerSettings loggerSettings

Logger settings.

Definition at line 96 of file HandlerSettings.h.

◆ lostPacketWaitTime

UInt32 lostPacketWaitTime = 100000

Indicates for how long Handler should wait for the packet before it's considered as totally lost.

Due to the 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 the 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.

Note
When an out-of-order packet is received, the Handler makes a decision on data loss if either waiting time is over or if newly received packet has sequence number greater than 'seqNumberOfLastReceivedPacket + outOfOrderPacketMaxInterval'.
See also
'outOfOrderPacketMaxInterval' parameter for more information.

Time interval is measured in microseconds (uSec).

Definition at line 186 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.

On Linux, the network interface is specified by its name, on Windows - by IP address.

Note
If the value is empty or absent, then the default networking interface is used.

Definition at line 114 of file HandlerSettings.h.

◆ networkInterfaceA

std::string networkInterfaceA

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

On Linux, the network interface is specified by its name, on Windows - by IP address.

Note
If the value is empty or absent, then the networkInterface_ filled value is used.

Definition at line 123 of file HandlerSettings.h.

◆ networkInterfaceB

std::string networkInterfaceB

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

On Linux, the network interface is specified by its name, on Windows - by IP address.

Note
If the value is empty or absent, then the networkInterface_ filled value is used.

Definition at line 132 of file HandlerSettings.h.

◆ orderBookDepth

size_t orderBookDepth = FullOrderBookDepth

Exposed depth of the order books.

Definition at line 208 of file HandlerSettings.h.

◆ orderBookPool

OrderBookPool* orderBookPool = nullptr

A shared pool for building books.

Note
If not set, it is created internally for each handler.

Definition at line 202 of file HandlerSettings.h.

◆ outOfOrderPacketMaxInterval

UInt32 outOfOrderPacketMaxInterval = 3

Defines value of threshold used by Handler to differ out-of-order packets from gaps.

Due to the unreliable nature of multicast, packets transmitted by exchange may be received in an 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, the Handler uses the given parameter. It defines the size of the interval for incoming packets starting from the last received. A 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 the received packet has a greater sequence number than 'seqNumberOfLastReceivedPacket + outOfOrderPacketsMaxInterval', then Handler makes a decision on packets lost and gap is reported.

Note
When out-of-order packet is received, Handler makes a decision on data loss if either waiting time is over or if newly received packet has sequence number greater than 'seqNumberOfLastReceivedPacket + outOfOrderPacketMaxInterval'.
See also
'lostPacketWaitTime' parameter for more information.

Definition at line 163 of file HandlerSettings.h.

◆ snapshotFeeds

FeedGroup snapshotFeeds

Snapshot recovery multicast feeds.

Definition at line 195 of file HandlerSettings.h.

◆ startIncrementalFeedsAfterInstrumentRecovery

bool startIncrementalFeedsAfterInstrumentRecovery = false

Start incremental feeds after instrument recovery.

By default incremental feeds will be started before instrument feed on the handler starting.

Definition at line 214 of file HandlerSettings.h.