OnixS C++ Eurex T7 Market and Reference Data Interface (EMDI, RDI, EOBI) Handlers  6.1.0
API documentation
Frequently Asked Questions

What is the recommended udpSocketBufferSize?

A: It can depends on the environment, our test shows that 8Mb is enough. So the best way is to do a few tests with different values, then to choose.

Link to this answer


Is there any notification given to application when packet gap is detected by Onix?

A: When gap is detected DepthListener::onDepthReset will be fired to notify that market data is not valid.

Link to this answer


Is using startRecoveryOnPacketGap recommended?

A: It depends on the usage of the handler. If startRecoveryOnPacketGap is true, "Pessimistic approach" is used. Please see Section 7.1 "Detecting duplicates and gaps by means of the packet header" of the EMDI/RDI spec for details.

1 The packet header allows receiving applications to identify identical packets between Service A and
2 Service B. This is achieved by a simple memory comparison on the first 9 bytes for Eurex EMDI or 8
3 Bytes for Eurex MDI of a datagram containing SenderCompId and PacketSeqNum as shown in figure 20,
4 Structure of the packet header for Eurex EMDI and figure 21, Structure of the packet header for Eurex
5 MDI and Eurex RDI. Another important function of the packet header is to identify gaps by means of the
6 PacketSeqNum which can be retrieved just by decoding the packet header.
7 
8 This means that field PacketSeqNum can be used not only to detect duplicates but also to detect missing
9 packets. PacketSeqNum is a Byte vector and therefore not stop bit encoded as per the FAST specification.
10 The packet header itself does not contain any product information. In order to find out which product
11 is missing, the product level sequence number must be used in addition to the packet level sequence
12 number; the packet needs to be decoded further down to the message level. This leaves participants with
13 two recovery options when a gap in the PacketSeqNum’s of the packet header is detected.
14 Example:
15 A single multicast address carries products FDAX and FGBL, but the participant is only interested in
16 FGBL.
17 I. Pessimistic approach: The receiving application assumes that FGBL is part of the missing packet: It
18 immediately starts recovery actions 13 just by decoding the packet header.
19 • Advantage: Recovery is triggered immediately when observing a missing PacketSeqNum without
20 decoding the entire message.
21 • Disadvantage: The recovery might not be necessary, if FGBL is not part of the message which is
22 inside the lost packet.
23 II. Optimistic approach: The receiving application assumes that FGBL is not part of the missing packet:
24 It waits for the next message on the same service and decodes the packet up to the message level to find
25 out if a packet for FGBL has been lost before triggering recovery actions.
26 • Advantage: This approach allows the participant to recover only products of interest.
27 • Disadvantage: The receiving application needs to wait for the next message. However, the next
28 packet may not contain a message for the product in question.

Please, compare advantages and disadvantages of both approaches and choose the best for you needs.

Link to this answer