OnixS C++ CME Market Data Handler  5.4.0
API documentation
RealtimeFeedSettings Class Reference

#include <OnixS/CME/MDH/FeedSettings.h>

Public Member Functions

 RealtimeFeedSettings (const SettingGroup *group=NULL)
 
 RealtimeFeedSettings (const RealtimeFeedSettings &other)
 
 ~RealtimeFeedSettings ()
 
UInt32 outOfOrderPacketMaxInterval () const
 
void outOfOrderPacketMaxInterval (UInt32 intervalLength)
 
UInt32 lostPacketWaitTime () const
 
void lostPacketWaitTime (UInt32 waitTime)
 
RealtimeFeedSettingsoperator= (const RealtimeFeedSettings &other)
 
- Public Member Functions inherited from FeedSettingsBase< RealtimeFeedLayout::Enum >
RealtimeFeedLayout::Enum layout () const
 
void layout (RealtimeFeedLayout::Enum value)
 
UInt32 heartbeatInterval () const
 
void heartbeatInterval (UInt32 interval)
 
const std::string & feedANetworkInterfaces () const
 
void feedANetworkInterfaces (const std::string &interfaces)
 
const std::string & feedBNetworkInterfaces () const
 
void feedBNetworkInterfaces (const std::string &interfaces)
 

Friends

class FeedSettings
 

Additional Inherited Members

- Protected Member Functions inherited from FeedSettingsBase< RealtimeFeedLayout::Enum >
 FeedSettingsBase (const SettingGroup *group, RealtimeFeedLayout::Enum layout, UInt32 heartbeat)
 
 FeedSettingsBase (const FeedSettingsBase &other)
 
 ~FeedSettingsBase ()
 
const SettingGroupgroup () const
 
void assignNoControl (const FeedSettingsBase &other)
 

Detailed Description

Definition at line 670 of file FeedSettings.h.

Constructor & Destructor Documentation

RealtimeFeedSettings ( const SettingGroup group = NULL)
inline

Initializes instance with default values.

By default, arbitrage between feeds A and B is done. Heartbeats are expected within 30 seconds periodicity.

Definition at line 707 of file FeedSettings.h.

RealtimeFeedSettings ( const RealtimeFeedSettings other)
inline

Initializes the instance as a copy of the other one.

Definition at line 721 of file FeedSettings.h.

~RealtimeFeedSettings ( )
inline

Finalizes the instance.

Definition at line 736 of file FeedSettings.h.

Member Function Documentation

UInt32 lostPacketWaitTime ( ) const
inline

Indicates the time limit for the Handler while waiting for expected packets before they are considered lost.

When the Handler receives a packet with the sequence number greater than expected, it considers the received data as out-of-order. The Handler resumes normal data processing if it receives missing data during the given time interval.

However, if expected packets aren't received for a predefined time frame, the Handler considers expected data as lost and raises the gap event. The given parameter defines a time interval the Handler waits for expected packets.

Note
The given parameter is used in combination with the 'outOfOrderPacketMaxInterval' parameter.
See also
'outOfOrderPacketMaxInterval' parameter for more information.

The time interval is measured in microseconds (usec).

Note
The default value is '100000' (100 milliseconds).

Definition at line 811 of file FeedSettings.h.

void lostPacketWaitTime ( UInt32  waitTime)
inline

Defines the time limit for the Handler while waiting for expected packets before they considered as lost.

Definition at line 819 of file FeedSettings.h.

RealtimeFeedSettings& operator= ( const RealtimeFeedSettings other)
inline

Re-initializes the instance as a copy of the other one.

Definition at line 834 of file FeedSettings.h.

UInt32 outOfOrderPacketMaxInterval ( ) const
inline

Defines a threshold used by the Handler while handling out-of-order incoming packets.

Due to the unreliable nature of multicast, packets may be missed or received in an order different from the expected. The Handler uses the given parameter to establish a threshold for incoming packets whose sequence numbers are greater than expected unless the expected packets are received or recognized as lost.

When the Handler receives a packet with the sequence number higher than expected, it considers the incoming packet as out-of-order. It puts the packet into an internal queue if its sequence number does not exceed the established threshold. The threshold represents the sum of the last accepted packet's sequence number and the value of the given parameter.

Packets are queued unless the expected ones are received, or their sequence numbers exceed the threshold, or the time limit is reached. If the incoming packet's sequence number exceeds the established threshold, the Handler raises the gap event.

If arbitrage between primary and secondary feeds is enabled, the Handler does not trigger the gap event until incoming packets from both feeds exceed the established threshold.

See also
'lostPacketWaitTime' parameter for more information.
Note
The default value is '3'.

Definition at line 769 of file FeedSettings.h.

void outOfOrderPacketMaxInterval ( UInt32  intervalLength)
inline

Defines value of threshold used by the Handler while handling out-of-order incoming packets.

Definition at line 777 of file FeedSettings.h.

Friends And Related Function Documentation

friend class FeedSettings
friend

Definition at line 677 of file FeedSettings.h.


The documentation for this class was generated from the following file: