OnixS C++ CME Market Data Handler  5.4.0
API documentation
Processing Market Data Packets And Messages

Processing Packets And Messages

The SDK 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::MDH::MarketDataListener class represents a collection of all events related to the market data 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 client code when it begins and accomplishes the processing of various logical parts of market data. The Handler calls the OnixS::CME::MDH::MarketDataListener::onPacket member when it starts processing of a received packet. The Handler invokes the OnixS::CME::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.

Market Data Processing Order

Packets transmitted over incremental feeds and passed by the Handler to the listener members are previously verified and checked for proper order.

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.