High-level Handler's API allows to get rid of protocol details and use directly high-level entities like security definitions, trading information, and books. Advanced events are exposed by the Handler to allow the users to build books by themselves using atomic update information.
The Handler exposes an additional level of flexibility by providing the ability to access network packets as the Handler captured them.
The OnixS::CME::Streamlined::MDH::MarketDataListener class represents a collection of all market data processing events. An instance of the listener can be associated with the Handler using the OnixS::CME::Streamlined::MDH::Handler::registerMarketDataListener member.
The Handler notifies client code when it begins and accomplishes processing of various logical parts of market data. The Handler calls the OnixS::CME::Streamlined::MDH::MarketDataListener::onPacket member when it starts processing of a received packet. The Handler invokes the OnixS::CME::Streamlined::MDH::MarketDataListener::onEndOfPacket member when it accomplishes processing of a received packet.
The Handler invokes similar callbacks when it processes each message belonging to a received packet.
Packets obtained from different feeds like snapshot and instrument feeds have uncorrelated sequence numbers. Therefore, user code must not rely on the fact packets are lined up into a single sequence.