The SDK API allows to get rid of protocol details and use directly high-level entities like security definitions, trading information, and books. Events are exposed by the handler to allow the users to build books by themselves using atomic update information.
The handler provides access to network packets as the handler captures them.
The OnixS::CME::MDH::MarketDataListener class represents a collection of events related to the network packet and message processing. An instance of the listener can be associated with the handler using the OnixS::CME::MDH::HandlerListeners::marketData member and the
handler.settings().listeners().marketData(&listener) path in the handler's settings.
The handler notifies the client code when it begins and finishes the processing of various logical parts of market data. The handler calls the OnixS::CME::MDH::MarketDataListener::onPacket member when it starts processing a received packet. The handler invokes the OnixS::CME::MDH::MarketDataListener::onEndOfPacket member when it finishes the processing of the received packet.
The handler invokes similar callbacks when it processes each message belonging to a received packet.
Packets obtained from different feeds (e.g., Market Recovery Feeds and Instrument) have uncorrelated sequence numbers. Therefore, the user code must not rely on that packets are lined up into a single sequence.