Market data processing is configured via the OnixS::CME::MDH::HandlerSettings class. The OnixS::CME::MDH::Handler class exposes an instance of this class through the OnixS::CME::MDH::Handler::settings member.
The handler requires the connectivity configuration file to receive and process market data.
A single connectivity configuration file contains settings for all market data channels in the environment. CME Group uses different connectivity configuration files for different environments ("Production, "Certification", "New Release", "Autocert+", etc.). XML-based connectivity configuration files are provided by CME and available on their public FTP servers. <em>CME updates connectivity configuration files on a regular (weekly) basis</em>. Visit the <a href="https://www.cmegroup.com/confluence/display/EPICSANDBOX/MDP+3.0+-+FTP+and+SFTP+Site+Information" target="_blank" >CME Market Data Platform Wiki</a> for more information about the configuration update schedule and how to access public FTP servers. On the CME FTP servers, configuration file paths have the following pattern: <tt>/SBEFix/[EnvironmentName]/Configuration/config.xml</tt> For instance, the Production configuration file path is <tt>/SBEFix/Production/Configuration/config.xml</tt>. To specify the location of the connectivity configuration file, use the OnixS::CME::MDH::HandlerSettings::connectivityConfigurationFile method. For example: \snippet GettingStarted.cpp connectivityConfigurationFile @section channel Market data channel CME market data is distributed across multiple <em>logical</em> units to reduce network and client system load. These logical units are called <em>Channels</em>. The \ref configuration-file "connectivity configuration file" contains channel descriptions. For example: @icode{xml} <configuration environment="New Release Certification" updated="2023/01/26-05:11:02"> <channel id="310" label="CME Globex Equity Futures"> <products> <product code="ES"> <group code="ES"/> </product> <product code="ECES"> <group code="0C"/> </product> </products> <connections> <connection id="310H0A"> <type feed-type="H">Historical Replay</type> <host-ip>69.50.112.159</host-ip> <port>9000</port> <feed>A</feed> <protocol>TCP/IP</protocol> </connection> ... @endicode The OnixS::CME::MDH::Handler class is designed to process market data transmitted in the bounds of a single CME channel. To configure the channel, use the OnixS::CME::MDH::HandlerSettings::channel method. For example: \snippet GettingStarted.cpp channel @section network-interfaces Network interfaces To specify network interfaces use: - OnixS::CME::MDH::FeedSettings::feedANetworkInterfaces - OnixS::CME::MDH::FeedSettings::feedBNetworkInterfaces For example: \snippet AdjustingSettings.cpp networkInterfaces @section connectivity-configuration-data-center Selecting the data centre CME maintains additional data centres for exceptional cases like disaster recovery. Information on how to connect to a specific data source belonging to a particular data centre is also included in the configuration file. Therefore, both the OnixS::CME::MDH::connectivityFromConfiguration and the OnixS::CME::MDH::HandlerSettings::connectivityConfigurationFile functions include an additional parameter that allows choosing which data centre connection settings to use. \snippet ConnectivityConfiguration.cpp connectivityConfigurationDataCenterSnippet @section primary-settings Settings groups Handler's settings are grouped on their purpose: <table class="markdownTable"> <tr class="markdownTableHead"> <th class="markdownTableHeadNone"> Group and Access Member
Description
OnixS::CME::MDH::HandlerSettings::feeds
multicast and TCP feeds
OnixS::CME::MDH::HandlerSettings::session
market data processing session
OnixS::CME::MDH::HandlerSettings::tradeProcessing
trade-related
OnixS::CME::MDH::HandlerSettings::bookManagement
order book management
OnixS::CME::MDH::HandlerSettings::logging
logging
OnixS::CME::MDH::HandlerSettings::listeners
Handler's listeners