OnixS C++ CME Market Data Handler  5.4.0
API documentation
Adjusting Handler Settings

Once an instance of the OnixS::CME::MDH::Handler class is constructed, market data processing must be configured to process market data in a desired way. All settings affecting the behavior of the market data processing are gathered into the single OnixS::CME::MDH::HandlerSettings class. The OnixS::CME::MDH::Handler class exposes an instance of the given class through the OnixS::CME::MDH::Handler::settings member for further update.

Note
The OnixS::CME::MDH::Handler allows changing its settings only when market data processing is not performed for the moment of settings update. When market data processing is initiated by invoking the OnixS::CME::MDH::Handler::start() member, the further parameter modification is prohibited till the end of the processing session.
Previously, an instance of the OnixS::CME::MDH::Handler class had to be configured at construction time. The constructor of the OnixS::CME::MDH::Handler class accepted an instance of the OnixS::CME::MDH::HandlerSettings class defining the behavior for the instance being constructed. None of the control parameters could be updated after instance construction. The given restriction has been eliminated and now the parameters can be updated any time betwen market data processing sessions.

Market Data Channel

CME market data is distributed across multiple logical units to reduce network and client system load. These logical units are called Channels. The OnixS::CME::MDH::Handler class is designed to process market data transmitted in bounds of a single CME channel. Therefore, it requires a channel identifier whose market data will be processed. OnixS::CME::MDH::HandlerSettings class exposes the OnixS::CME::MDH::HandlerSettings::channel parameter to let the Handler know which market data to process.

Connectivity Configuration

The Handler requires connectivity configuration to process market data. Data stored in this configuration is used by the Handler to identify network connectivity attributes for a particular market data channel.

Note
Market data configuration provided by the CME Group and available on their public FTP servers. CME Group updates market data configuration on a regular (weekly) basis. Visit the CME Market Data Platform Wiki for more information about configuration updating schedule as well as how to access public FTP servers.

A OnixS::CME::MDH::FeedSettings returned by the OnixS::CME::MDH::HandlerSettings::feeds exposes the OnixS::CME::MDH::FeedSettings::connectivityConfigurationFile member which can be used to set the path to the locally stored copy of such configuration file.

Note
A single market data configuration file contains settings for all market data channels. However, CME Group uses different market data configurations for different environments (like Production and Certification environments). Multiple instances of the OnixS::CME::MDH::Handler class can be initialized to use either single or different market data configurations. In other words, there are no problems to use multiple instances of the Handler to connect to different environments.

Primary Settings Groups

All parameters affecting Handler behavior are grouped on their purpose:

Group and Access Member Description
OnixS::CME::MDH::HandlerSettings::feeds Given section contains all parameters affecting multicast and TCP feeds behavior used by Handler while processing market data from CME MDP.
OnixS::CME::MDH::HandlerSettings::session Parameters related to market data processing session.
OnixS::CME::MDH::HandlerSettings::tradeProcessing Encapsulates all trade-related settings and policies.
OnixS::CME::MDH::HandlerSettings::bookManagement Parameters affecting order book maintenance.
OnixS::CME::MDH::HandlerSettings::logging Parameters defining the way and kind of information logged by the Handler.
OnixS::CME::MDH::HandlerSettings::listeners Listeners for various events raised by the Handler at the processing stage.