Optional Fields | Table of Content | Packet Gap |
Threading Model |
An important consideration for users of the OnixS .NET ICE iMpact Multicast Price Feed Handler library is the threading model that is used by the components of the application. The threading model of a library determines how the methods of the listeners are assigned to threads in order to be executed and synchronized.
After calling the Start(ICollection<MarketSubscription>) method for each MarketSubscription object three threads will be created: one - for a snapshot feed, one - for a live feed and one - a control thread. In the current implementation for each feed pair (a snapshot and a live) there is one control thread that is called "order book change/update" and "message received" events.
The Handler may raise the FuturesProductDefinitionReceived event event only from a single thread.
The Handler may raise the OptionsProductDefinitionReceived event event only from a single thread.
The Handler may raise the OptionsStrategyDefinitionReceived event event only from a single thread.
The Handler may raise the AddModifyOrderReceived event simultaneously from different threads.
The Handler may raise the AddPriceLevelReceived event simultaneously from different threads.
The Handler may raise the BundleMarkerReceived event simultaneously from different threads.
The Handler may raise the CancelledTradeReceived event simultaneously from different threads.
The Handler may raise the ChangePriceLevelReceived event simultaneously from different threads.
The Handler may raise the DeleteOrderReceived event simultaneously from different threads.
The Handler may raise the DeletePriceLevelReceived event simultaneously from different threads.
The Handler may raise the EndOfDayMarketSummaryReceived event simultaneously from different threads.
The Handler may raise the IntervalTieredPriceLimitNotificationReceived event simultaneously from different threads.
The Handler may raise the InvestigatedTradeReceived event simultaneously from different threads.
The Handler may raise the MarkerIndexPricesReceived event simultaneously from different threads.
The Handler may raise the MarketEventReceived event simultaneously from different threads.
The Handler may raise the MarketSnapshotReceived event simultaneously from different threads.
The Handler may raise the MarketSnapshotOrderReceived event simultaneously from different threads.
The Handler may raise the MarketSnapshotPriceLevelReceived event simultaneously from different threads.
The Handler may raise the MarketStateChangeReceived event simultaneously from different threads.
The Handler may raise the MarketStatisticsReceived event simultaneously from different threads.
The Handler may raise the NewOptionsMarketDefinitionReceived event simultaneously from different threads.
The Handler may raise the NewOptionsStrategyDefinitionReceived event simultaneously from different threads.
The Handler may raise the OldStyleOptionsTradeAndMarketStatsReceived event simultaneously from different threads.
The Handler may raise the OpenInterestReceived event simultaneously from different threads.
The Handler may raise the OpenPriceReceived event simultaneously from different threads.
The Handler may raise the OptionOpenInterestReceived event simultaneously from different threads.
The Handler may raise the OptionSettlementPriceReceived event simultaneously from different threads.
The Handler may raise the PreOpenPriceIndicatorReceived event simultaneously from different threads.
The Handler may raise the RfqReceived event simultaneously from different threads.
The Handler may raise the SettlementPriceReceived event simultaneously from different threads.
The Handler may raise the StripInfoReceived event event only from a single thread.
The Handler may raise the SystemTextReceived event simultaneously from different threads.
The Handler may raise the TradeReceived event simultaneously from different threads.
The Handler may raise the MulticastMessageBlockBegin event simultaneously from different threads.
The Handler may raise the MulticastMessageBlockEnd event simultaneously from different threads.
The Handler may raise the HandlerStateChanged event event only from a single thread.
The Handler may raise the BookChanged event simultaneously from different threads.
The Handler may raise the ErrorOccurred event simultaneously from different threads.
The Handler may raise the LogReplayFinished event event only from a single thread.