OnixS ICE iMpact Multicast Feed Handler for C++  3.13.0.0
Subscribing to multicast groups

Creating a subscription

The ICE iMpact multicast groups are currently defined based on set of products (such as 'Europe Futures Oil') and depth of book (Full Order Depth, Top 5 Price Level). The Handler exposes flexibility of subscribing to the multicast groups that are best suited to customers individual needs.

Subscribing is a way to start receiving Multicast Price Feed market data. To subscribe to certain multicast groups as well as to select which type of books must be maintained by the Handler, instance of OnixS::ICE::iMpact::MarketData::MarketSubscriptions collection must be created and filled with items.

Once instance of a blank collection is created, subscriptions for a particular market type can be added. This can be achieved by pushing items of type OnixS::ICE::iMpact::MarketData::MarketSubscription into the collection. Each added item identifies type of market to which subscription will be performed and kinds of books which the Handler is supposed to build and update while maintaining subscription.

Starting a subscription

Afterwards, constructed collection must be passed to OnixS::ICE::iMpact::MarketData::Handler::start member which causes the Handler to receive and process data for the markets specified in the subscription. Since that moment, Handler will notify about all the events through appropriate listeners. In particular, it will notify the subscribes about reception of the product definitions. Later, about changes in states of markets, new orders added or removed to or from market books, and, surely, about errors if any occurred during processing data from Multicast Price Feed channels.

Example

Below is the example of creating subscription for 'IPE Brent Futures' market of 'ICE Futures Brent' multicast group:

HandlerSettings handlerSettings;
handlerSettings.connectivityConfiguration = "ConnectivityConfiguration.APITest.xml"
Handler handler(handlerSettings);
MarketSubscriptions subscriptions;
MarketSubscription brentFutures(
5, // Market type id for IPE Brent Futures.
SecurityTypes::Futures, // Defines type of securities (Futures/OTC, Options or UDS Markets)
BookDepth::TOP5PL // Build and maintain Top5PL book.
);
subscriptions.push_back(brentFutures);
handler.start(subscriptions);