forwardAdvanced Programming   Table of ContentReplaying Log Filesforward
Connectivity Configuration

All public constructors of the Handler accept a path to the connectivity configuration file as a primary parameter. This file contains definitions of the multicast groups and network addresses of the corresponding servers to which the Handler has to connect for getting market data.

How to get the latest version of connectivity configuration files?

The latest version of connectivity configuration files available at:

https://ref.onixs.biz/ice/OnixS.IceImpactMulticastPriceFeedHandler.ConnectivityConfiguration.zip

Connectivity Configuration Structure

There are tree major sections which make up the configuration: TCP connection information, Multicast groups and Market types.

TCP Connection Information

The TCP connection information section defines attributes of the remove system to which a server has to connect to request the primary information like product definitions for the selected markets. This section also defines the logon information like a username and a password which the Handler must supply to succeed with the requests.

Typical TCP connection information section looks as follows:

XML
<tcp ip="63.247.113.163" port="3000" userName="username from ICE" password="Password from ICE" />

The values of the ip and port attributes define the connection to a remote system. A userName and a password are the logon-related attributes.

How To Specify Username And Password Using API?

If you don't want to store username and password in the connectivity configuration file, please use the Handler's API. For example:

C#
// Create the Handler settings and specify config file.
HandlerSettings handlerSettings = new HandlerSettings();
handlerSettings.ConnectivityConfiguration = "ConnectivityConfiguration.APITest.xml";

// When the Handler is created, `TcpSettings` object is created as
// well from the data in the connectivity configuration file.
// You can keep username and password empty in the config file.
Handler handler = new Handler(handlerSettings);

// Now you can set username and password for a TCP server.
handler.SetTcpServerCredentials("ICE", "username", "password");
Multicast Groups Section

The multicast groups section defines the addresses of multicast feed channels for books of different types and a particular multicast group.

An example below shows how to define a single entry:

XML
<multicast>
  <group name="ICE Futures US Agricultures">
    <fullOrderDepth>
      <live ip="233.156.208.255" port="20001"/>
      <snapshot ip="233.156.208.254" port="20002"/>
    </fullOrderDepth>
    <priceLevel>
      <live ip="233.156.208.253" port="20003"/>
      <snapshot ip="233.156.208.252" port="20004"/>
    </priceLevel>
  </group>
</multicast>

Each group entry defines connection parameters for each type of book defined by the ICE iMpact specification. Therefore, the connectivity configuration supposes the existence of two entries in each group entry: fullOrderDepth and priceLevel. In its own turn, each entry should contain a live and snapshot subentries which define connection information for the corresponding multicast feed channel.

Market Types Definitions

Finally, the Market Types section defines the correspondence between multicast groups and types of the markets which make up a particular group like the “ICE Futures Europe Oil” group which includes "IPE Gas Oil Futures", "IPE Brent Future", "IPE Gas Oil Futures Crack" and other market types.

The following sample depicts how to define an association:

XML
<allMarketTypes>
  <marketType code="4" multicastGroup="ICE Futures Europe Oil">IPE Gas Oil Futures</marketType>
  <marketType code="5" multicastGroup="ICE Futures Europe Oil">IPE Brent Futures</marketType>
  <marketType code="6" multicastGroup="ICE Futures Europe Oil">IPE Gas Oil Futures Crack</marketType>
<allMarketTypes>
Example

In general, a basic configuration file looks as follows:

XML
<?xml version="1.0" encoding="UTF-8"?>
<!--
  This file contains configuration information for various
  deployment  environments. The TCP and Multicast Group addresses are pre-configured,
  so we can choose a configuration during the launch of the multicast client application
              Within the multicast tag, we have different multicast groups named as "ICE Futures US Agricultures" etc.,
  In this way, each of these groupshas some interesting information for the client which he might
  subscribe. They are under the FullOrderDepth/PriceLevel tagsand contain live and
  snapshot multicast group addresses.
-->
<connectivityConfiguration>
    <!-- TCP Connection Information -->
    <tcp
      ip="63.247.113.163"
      port="3000"
      userName="Value from ICE Support Team"
      password="Value from ICE Support Team"
    />

    <!-- Multicast Groups Information -->
    <multicast>

      <group name="ICE Futures US Agricultures">
        <fullOrderDepth>
          <live ip="233.156.208.255" port="20001"/>
          <snapshot ip="233.156.208.254" port="20002"/>
        </fullOrderDepth>
        <priceLevel>
          <live ip="233.156.208.253" port="20003"/>
          <snapshot ip="233.156.208.252" port="20004"/>
        </priceLevel>
      </group>

      <group name="ICE Futures Europe Oil">
        <fullOrderDepth>
          <live ip="233.156.208.251" port="20005"/>
          <snapshot ip="233.156.208.250" port="20006"/>
        </fullOrderDepth>
        <priceLevel>
          <live ip="233.156.208.249" port="20007"/>
          <snapshot ip="233.156.208.248" port="20008"/>
        </priceLevel>
      </group>

      <group name="ICE Futures US Financials">
        <fullOrderDepth>
          <live ip="233.156.208.243" port="20017"/>
          <snapshot ip="233.156.208.242" port="20018"/>
        </fullOrderDepth>
        <priceLevel>
          <live ip="233.156.208.241" port="20019"/>
          <snapshot ip="233.156.208.240" port="20020"/>
        </priceLevel>
      </group>

      <group name="ICE Futures Europe Non Oil">
        <fullOrderDepth>
          <live ip="233.156.208.239" port="20021"/>
          <snapshot ip="233.156.208.238" port="20022"/>
        </fullOrderDepth>
        <priceLevel>
          <live ip="233.156.208.237" port="20023"/>
          <snapshot ip="233.156.208.236" port="20024"/>
        </priceLevel>
      </group>

      <group name="ICE OTC">
        <fullOrderDepth>
          <live ip="233.156.208.247" port="20009"/>
          <snapshot ip="233.156.208.246" port="20010"/>
        </fullOrderDepth>
        <priceLevel>
          <live ip="233.156.208.245" port="20011"/>
          <snapshot ip="233.156.208.244" port="20012"/>
        </priceLevel>
      </group>

      <group name="ICE Futures Canada">
        <fullOrderDepth>
          <live ip="233.156.208.235" port="20025"/>
          <snapshot ip="233.156.208.234" port="20026"/>
        </fullOrderDepth>
        <priceLevel>
          <live ip="233.156.208.233" port="20027"/>
          <snapshot ip="233.156.208.232" port="20028"/>
        </priceLevel>
      </group>

      <group name="CCX Futures">
        <fullOrderDepth>
          <live ip="233.156.208.231" port="20029"/>
          <snapshot ip="233.156.208.230" port="20030"/>
        </fullOrderDepth>
        <priceLevel>
          <live ip="233.156.208.229" port="20031"/>
          <snapshot ip="233.156.208.190" port="20032"/>
        </priceLevel>
      </group>

    </multicast>

  <!--
    List of all market types with their corresponding multicast groups
    The multicast group name must match what has been specified in the multicast tag.
    More than one market type can be mapped to a multicast group channel.
    Refer to the spec document, Section Appendix C: Supported Market Types
  -->
  <allMarketTypes>
    <marketType code="0" multicastGroup="ICE OTC">Financial Gas</marketType>
    <marketType code="1" multicastGroup="ICE OTC">Financial Power</marketType>
    <marketType code="2" multicastGroup="ICE OTC">Oil</marketType>
    <marketType code="3" multicastGroup="ICE Futures Europe Non Oil">IPE Natural Gas Futures</marketType>
    <marketType code="4" multicastGroup="ICE Futures Europe Oil">IPE Gas Oil Futures</marketType>
    <marketType code="5" multicastGroup="ICE Futures Europe Oil">IPE Brent Futures</marketType>
    <marketType code="6" multicastGroup="ICE Futures Europe Oil">IPE Gas Oil Futures Crack</marketType>
    <marketType code="7" multicastGroup="ICE Futures Europe Non Oil">IPE UK Electricity Futures Peak</marketType>
    <marketType code="8" multicastGroup="ICE Futures Europe Non Oil">IPE UK Electricity Futures Base</marketType>
    <marketType code="9" multicastGroup="ICE Futures Europe Oil">ICE WTI Crude Futures</marketType>
    <marketType code="10" multicastGroup="ICE Futures Europe Non Oil">gC Newcastle Coal Futures</marketType>
    <marketType code="11" multicastGroup="ICE Futures Europe Oil">ICE Brent-WTI Futures Spread</marketType>
    <marketType code="12" multicastGroup="ICE Futures Europe Non Oil">IPE-ECX European Emissions</marketType>
    <marketType code="13" multicastGroup="ICE Futures Europe Oil">ICE Heating Oil Futures</marketType>
    <marketType code="14" multicastGroup="ICE Futures Europe Oil">ICE Heating Oil/WTI Futures Crack</marketType>
    <marketType code="15" multicastGroup="ICE Futures Europe Non Oil">ICE NYH (RBOB) Gasoline Futures</marketType>
    <marketType code="16" multicastGroup="ICE Futures Europe Non Oil">ICE NYH (RBOB) Gasoline/WTI Futures Crack</marketType>
    <marketType code="17" multicastGroup="ICE Futures Europe Non Oil">ICE Rotterdam Coal Futures</marketType>
    <marketType code="18" multicastGroup="ICE Futures Europe Non Oil">ICE Richards Bay Coal Futures</marketType>
    <marketType code="19" multicastGroup="ICE Futures Europe Non Oil">ICE Rotterdam/Richards Bay Coal Futures Spread</marketType>
    <marketType code="20" multicastGroup="ICE Futures US Agricultures">Cocoa</marketType>
    <marketType code="21" multicastGroup="ICE Futures US Agricultures">Coffee C</marketType>
    <marketType code="22" multicastGroup="ICE Futures US Agricultures">Cotton No 2</marketType>
    <marketType code="23" multicastGroup="ICE Futures US Agricultures">FCOJ A</marketType>
    <marketType code="24" multicastGroup="ICE Futures US Agricultures">Sugar No 11</marketType>
    <marketType code="25" multicastGroup="ICE Futures US Agricultures">Sugar No 14</marketType>
    <marketType code="26" multicastGroup="ICE Futures US Financials">US Dollar Index</marketType>
    <marketType code="27" multicastGroup="ICE Futures Europe Oil">ICE Heating Oil/Gas Oil Futures Spread</marketType>
    <marketType code="28" multicastGroup="ICE Futures US Financials">Russell Indices</marketType>
    <marketType code="29" multicastGroup="ICE Futures US Financials">Commodity Index Futures</marketType>
    <marketType code="31" multicastGroup="ICE Futures Europe Oil">ICE Middle East Sour Crude Futures</marketType>
    <marketType code="32" multicastGroup="ICE Futures Europe Oil">ICE Brent/Middle East Crude Futures Spread</marketType>
    <marketType code="33" multicastGroup="ICE Futures Europe Oil">ICE WTI/Middle East Crude Futures Spread</marketType>
    <marketType code="34" multicastGroup="CCX Futures">CCFE Sulfur Dioxide Futures</marketType>
    <marketType code="35" multicastGroup="ICE Futures US Agricultures">Pulp</marketType>
    <marketType code="36" multicastGroup="ICE Futures Canada">Canadian Oilseeds</marketType>
    <marketType code="37" multicastGroup="ICE Futures Canada">Canadian Grains</marketType>
    <marketType code="38" multicastGroup="ICE Futures Europe Non Oil">ICE ECX CER Futures</marketType>
    <marketType code="39" multicastGroup="ICE Futures US Financials">Foreign Exchange</marketType>
    <marketType code="40" multicastGroup="ICE Futures US Financials">Financial Index Data</marketType>
    <marketType code="41" multicastGroup="ICE Futures US Agricultures">Sugar No 16</marketType>
    <marketType code="42" multicastGroup="ICE Futures Europe Non Oil">ECX EUA/CER Futures Spread</marketType>
    <marketType code="43" multicastGroup="CCX Futures">CCFE Inter Spreads</marketType>
    <marketType code="44" multicastGroup="ICE OTC">Henry Hub</marketType>
  </allMarketTypes>
</connectivityConfiguration>