Being a C++ class library, the SDK uses exceptions to report about an error occurred while performing a certain action. For example, the SDK raises an ordinary exception in case of license check failure. However, the OnixS::CME::Streamlined::MDH::Handler processes market data asynchronously, therefore it is not able to report any further errors from the moment market data processing is started. For this reason, the OnixS::CME::Streamlined::MDH::HandlerListener contains two members: OnixS::CME::Streamlined::MDH::HandlerListener::onWarning and OnixS::CME::Streamlined::MDH::HandlerListener::onError. The OnixS::CME::Streamlined::MDH::Handler instance ivokes given members in case of a warning and an error respectively.
In most cases, the OnixS::CME::Streamlined::MDH::Handler manages each issue case on its own. For example, if data is lost, the Handler uses the corresponding recovery service like a TCP recovery of market state recovery from snapshots according to its parameters. Therefore, in most cases, no additional actions are required from the user side. THe Handler keeps processing market data according its settings. However, under some circumstances, manual intrusions are required. For example, if the Handler is unable to join to multicast channel, user must define further steps.