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::SubscriptionParams Struct Reference

SubscriptionParams specifies details to manage instrument subscriptions. More...

#include <B2BITS_IceImpactInstruments.h>

Public Member Functions

 SubscriptionParams ()
 

Public Attributes

bool useBBOConflation
 
bool highlyConcurrentBBOFanout_PriceLevel
 
bool highlyConcurrentMessageFanout_PriceLevel
 
bool highlyConcurrentMessageFanout_FOD
 
bool tickerPlantMode
 Keep all known instruments' BBO updated regardless if instrument was subscribed or not. More...
 
bool subscribeToAllInstrumentsFOD
 
bool subscribeToAllInstrumentsTOP5
 
bool subscribeToAllInstrumentsTOB
 
subscription_mask_t defaultSubscriptionMask
 
Int64 defaultUserCookie
 

Detailed Description

SubscriptionParams specifies details to manage instrument subscriptions.

Constructor & Destructor Documentation

IceImpact::SubscriptionParams::SubscriptionParams ( )
inline

Member Data Documentation

subscription_mask_t IceImpact::SubscriptionParams::defaultSubscriptionMask

Subscription Mask to be used when subscribeToAllInstrumentsXXX is enabled this mask is overriden by the subscription parameter passed to subscribeToAllInstruments()

Int64 IceImpact::SubscriptionParams::defaultUserCookie

user Cookie to be passed to onBBO/onMessage callbacks when subscribeToAllInstruments is enabled Default value can be overridden by subscribeToAllInstruments calls

bool IceImpact::SubscriptionParams::highlyConcurrentBBOFanout_PriceLevel

Deliver instrument updates to user callbacks in highly concurrent manner, splitting event flows into multiple threads whenever possible. One incoming UDP packet can cause user callbacks invoked in multiple threads. This helps to decrease the average latency in case of mass subscription, but will increase the latency when subscribing to smaller number of instruments. This mode works when PerformanceParameters::performanceProfile is set to LowLatency (this is the default setting) provided there's enough number of cpu cores to activate this feature. This setting controls the BBO flow splitting behavior on TOP5 and TOB channels. Caution: enabling the feature results in onMessageFlowReset and one of the instrument specific onBBO, onMessage, onInstrumentReset callbacks to be potentially called concurrently

See Also
spreadEventFlows_PriceLevel Default value: false
bool IceImpact::SubscriptionParams::highlyConcurrentMessageFanout_FOD
See Also
spreadEventFlows_PriceLevel This setting controls the flow splitting behavior on Full Order Depth (FOD) channels. Note: messages related to the same instrument are delivered sequentially to the same thread (not concurrently). Caution: enabling the feature results in onMessageFlowReset and one of the instrument specific onMessage, onInstrumentReset callbacks to be potentially called concurrently Default value: false
bool IceImpact::SubscriptionParams::highlyConcurrentMessageFanout_PriceLevel
See Also
spreadEventFlows_PriceLevel This setting controls the message flow splitting behavior on Full Order Depth (FOD) channels. Note: messages related to the same instrument are delivered sequentially to the same thread (not concurrently). Caution: enabling the feature results in onMessageFlowReset and one of the instrument specific onBBO, onMessage, onInstrumentReset callbacks to be potentially called concurrently Default value: false
bool IceImpact::SubscriptionParams::subscribeToAllInstrumentsFOD

Subscribe to all instruments including new product definitions that appear intra-day defaultSubscriptionMask, defaultUserCookie values are applied to each instrument when subscribed or the same parameters passed to subscribeToAllInstruments() are used respectively This affects all FOD channels.

bool IceImpact::SubscriptionParams::subscribeToAllInstrumentsTOB

Subscribe to all instruments including new product definitions that appear intra-day defaultSubscriptionMask, defaultUserCookie values are applied to each instrument when subscribed or the same parameters passed to subscribeToAllInstruments() are used respectively This affects all TOB channels (Options).

bool IceImpact::SubscriptionParams::subscribeToAllInstrumentsTOP5

Subscribe to all instruments including new product definitions that appear intra-day defaultSubscriptionMask, defaultUserCookie values are applied to each instrument when subscribed or the same parameters passed to subscribeToAllInstruments() are used respectively This affects all TOP5 channels.

bool IceImpact::SubscriptionParams::tickerPlantMode

Keep all known instruments' BBO updated regardless if instrument was subscribed or not.

bool IceImpact::SubscriptionParams::useBBOConflation

Conflate BBO updates. If a newer BBO update available it will supercede an older one at the moment of delivery. This helps to keep the user appication up-to-date at times when it becomes slower to consume the events.