Once the Handler is started, it listens to a messages from the IDEM SOLA HSVF message flow, processes it and invokes client code for further processing.
The Handler processes messages asynchronously and uses concept of events and event listeners to notify client code about a particular occasion like reception of record.
For each event like Error Occurred or Handler State Changed Handler provides an interface (C++ class with pure virtual members) like OnixS::IDEM::SOLA::HSVF::MarketData::ErrorListener. Client code must implement this interface (C++ class) to be able to handle events of a particular type. Handler also exposes a member like OnixS::IDEM::SOLA::HSVF::MarketData::Handler::registerErrorListener which allows to associate an instance of the event handler with a appropriate event in bounds of a particular instance of the OnixS::IDEM::SOLA::HSVF::MarketData::Handler class.
Associating event listener with an instance of the OnixS::IDEM::SOLA::HSVF::MarketData::Handler class is also called subscribing to an event.
There're multiple events exposed by the Handler. All events can be logically divided onto high- and low- level event sub-set. High-level events reflect various results of message processing done by the Handler like session events Handler state changed or Order Book updated. Low-level events are designed for more control over data processing as well for more flexibility and described in different section of this documentation including Advanced Programming section.
Below table describes Error and Warning events exposed by the Handler as well as depicts correspondence between events, interfaces for listeners and the Handler's members to subscribe to an event:
Event | Listener (C++ class) to be implemented | Handler's member to register listener | Description |
Error occured | OnixS::IDEM::SOLA::HSVF::MarketData::ErrorListener::onError | OnixS::IDEM::SOLA::HSVF::MarketData::Handler::registerErrorListener | Occurs when error is detected. |
Warning occured | OnixS::IDEM::SOLA::HSVF::MarketData::WarningListener::onWarning | OnixS::IDEM::SOLA::HSVF::MarketData::Handler::registerWarningListener | Occurs when warning is detected. |
For more details please see Error Handling and Warning handling sections.
Below table describes Handler state changed events exposed by the Handler as well as depicts correspondence between events, interfaces for listeners and the Handler's members to subscribe to an event:
Event | Listener (C++ class) to be implemented | Handler's member to register listener | Description |
Error occured | OnixS::IDEM::SOLA::HSVF::MarketData::HandlerStateListener::onStateChanged | OnixS::IDEM::SOLA::HSVF::MarketData::Handler::registerHandlerStateListener | Occurs when Handler state changed. |
For more details please see Understanding Handler States section.
Below table describes session events exposed by the Handler as well as depicts correspondence between events, interfaces for listeners and the Handler's members to subscribe to an event:
Event | Listener (C++ class) to be implemented | Handler's member to register listener | Description |
Message sending | OnixS::IDEM::SOLA::HSVF::MarketData::SessionListener::onMessageSending | OnixS::IDEM::SOLA::HSVF::MarketData::Handler::registerSessionListener | Occurs just before Handler send message. |
Bytes received | OnixS::IDEM::SOLA::HSVF::MarketData::SessionListener::onReceivedBytes | OnixS::IDEM::SOLA::HSVF::MarketData::Handler::registerSessionListener | Occurs just after Handler received bytes. |
Below table describes log-replay events exposed by the Handler as well as depicts correspondence between events, interfaces for listeners and the Handler's members to subscribe to an event:
Event | Listener (C++ class) to be implemented | Handler's member to register listener | Description |
Log-replay error detected | OnixS::IDEM::SOLA::HSVF::MarketData::ReplayListener::onReplayError | OnixS::IDEM::SOLA::HSVF::MarketData::Handler::registerReplayListener | Occurs when an error detected during replaying log files. |
Log-replay finished | OnixS::IDEM::SOLA::HSVF::MarketData::ReplayListener::onReplayFinished | OnixS::IDEM::SOLA::HSVF::MarketData::Handler::registerReplayListener | Occurs when replay finished. |
Below table describes order book events exposed by the Handler as well as depicts correspondence between events, interfaces for listeners and the Handler's members to subscribe to an event:
Below table describes Message events exposed by the Handler as well as depicts correspondence between events, interfaces for listeners and the Handler's members to subscribe to an event: