An important issue that the users of OnixS C++ ICE iMpact Multicast Price Feed Handler library need 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.
The Handler processes market data coming from multicast feeds asynchronously. The Handler uses the internal pool of threads whose 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. The Handler spawns no additional threads while it's running.
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.
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.
HandlerStateChangeListener
The Handler can call OnixS::ICE::iMpact::MarketData::HandlerStateChangeListener
members only from a single thread.
OrderBookChangeListener
The Handler can call OnixS::ICE::iMpact::MarketData::OrderBookChangeListener
members only from a single thread.
OrderBookUpdateListener
The Handler can call OnixS::ICE::iMpact::MarketData::OrderBookUpdateListener
members only from a single thread.
OrderBookBundleUpdateListener
The Handler can call OnixS::ICE::iMpact::MarketData::OrderBookBundleUpdateListener
members only from a single thread.
ExchangeListener
The Handler can call OnixS::ICE::iMpact::MarketData::ExchangeListener
members only from a single thread.