OnixS ICE iMpact Multicast Feed Handler for C++  3.13.0.0
Threading Model

An important issue that the users of OnixS C++ ICE iMpact Multicast Price Feed Handler library needs to consider 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.

Overview

Handler processes market data coming from multicast feeds asynchronously. Handler uses internal pool of threads which size depends on multiple factors. All threads are spawned as soon as market data processing is started and are being executed until market data processing is accomplished. Handler spawns no additional threads while it's running.

Thread specific for ErrorListener

The Handler may call OnixS::ICE::iMpact::MarketData::ErrorListener members simultaneously from different threads. Invocation of any member of OnixS::ICE::iMpact::MarketData::ErrorListener class is not synchronized by the Handler.

Thread specific for FeedListener

The Handler may call OnixS::ICE::iMpact::MarketData::FeedListener members simultaneously from different threads. Invocation of any member of OnixS::ICE::iMpact::MarketData::FeedListener class is not synchronized by the Handler.

Thread specific for HandlerStateChangeListener

The Handler can call OnixS::ICE::iMpact::MarketData::HandlerStateChangeListener members only from single thread.

Thread specific for BookListener

The Handler can call OnixS::ICE::iMpact::MarketData::BookListener members only from single thread.

Thread specific for ExchangeListener

The Handler can call OnixS::ICE::iMpact::MarketData::ExchangeListener members only from single thread.