OnixS C++ B3 Binary UMDF Market Data Handler  1.8.2
API documentation
Getting Started

Inner Contents

 Licensing
 
 Logger Settings
 
 Event Listeners
 
 Order Books
 

Detailed Description

B3 Binary UMDF Market Data Handler is a C++ library that provides access to the B3 Unified Market Data Feed (UMDF). Handler encapsulates all low-level aspects of the market data platform, allowing focusing on implementing trading solutions and market data processing algorithms. High-level C++ API allows building applications quickly to get market data without much involvement in raw protocol specifics.

All Handler classes are encapsulated into the OnixS::B3::MarketData::UMDF namespace. Header files are collected in the master OnixS/B3/MarketData/UMDF/UMDF.h header file for your convenience.

The typical way of using the Handler is as follows:

Configuring and Constructing the Handler

HandlerSettings settings;
settings.loggerSettings.logLevel = LogLevel::Debug;
settings.loggerSettings.logSettings = LogSettings::Default;
settings.loggerSettings.logDirectory = "logs";
settings.licenseDirectory = PATH_TO_DIRECTORY_WITH_LICENSE_FILE;
settings.instrumentFeeds.a.address = CHANNEL_80_INSTRUMENT_FEED_A_ADDRESS;
settings.instrumentFeeds.a.port = CHANNEL_80_INSTRUMENT_FEED_A_PORT;
settings.incrementalFeeds.a.address = CHANNEL_80_INCREMENTAL_FEED_A_ADDRESS;
settings.incrementalFeeds.a.port = CHANNEL_80_INCREMENTAL_FEED_A_PORT;
settings.incrementalFeeds.b.address = CHANNEL_80_INCREMENTAL_FEED_B_ADDRESS;
settings.incrementalFeeds.b.port = CHANNEL_80_INCREMENTAL_FEED_B_PORT;
settings.snapshotFeeds.a.address = CHANNEL_80_SNAPSHOT_FEED_A_ADDRESS;
settings.snapshotFeeds.a.port = CHANNEL_80_SNAPSHOT_FEED_A_PORT;
#if !defined(_WIN32)
settings.networkInterfaceA = NETWORK_INTERFACE_FOR_FEEDS_A;
settings.networkInterfaceB = NETWORK_INTERFACE_FOR_FEEDS_B;
#endif
Handler handler(settings);

Registering Event Listeners

handler.registerWarningListener(&issueListener);
handler.registerErrorListener(&issueListener);
handler.registerMessageListener(&messageListener);
handler.registerOrderBookListener(&orderBookListener);

Starting Market Data Processing

handler.start();
// processing listener's events
handler.stop(true);
See also