Skip to main content

Derivatives UDP Message Structure

CDE multicast UDP market data messages are encoded with Simple Binary Encoding (SBE) format with little-endian byte ordering. A UDP packet can contain zero or more messages, up to a maximum length of 1400 bytes.

Packet Header

All packets across all channels start with a packet header followed by zero or messages, up to a maximum length of 1400 bytes. The packet header has the following structure:

Packet HeaderTypeLengthOffsetDescription
SendingTimeint6480Nanoseconds since epoch
SeqNumint6488Sequence number. Differs based on context:
  • Incremental: Sequence generated from trading system, never reset
  • Snapshot: Sequence associated with last incremental update
  • Retransmit reject: Sequence sent by client, acts as a correlation ID
ChannelIduint16216Channel ID for a ProductCode/Instrument set.
PktFlagsuint8118Bitset:
0x01: incremental update
0x02: snapshot
0x04: retransmit
PktMessageCountuint8119Count of messages within packet
SnapshotInstrumentIdint32420Instrument ID of messages in snapshot packet (not used for incrementals)

Message Header

Each message in a packet starts with a message header. Existing fields are never removed or modified, but new fields and messages may be added.

info

Message versioning follows standard SBE versioning practices. New versions are backwards compatible with older clients.

Message HeaderTypeLengthOffsetDescription
FrameLengthuint1620Total message size in bytes including this header. Also includes repeating groups and var length data. Indicates empty space at end of message data for byte alignment.
BlockLengthuint1622Total length of message body in bytes excluding this header and any repeating groups or variable length field.
TemplateIduint1624Message template identifier, specified for each message type in spec within parenthesis (##).
SchemaIduint1626ID of message schema containing the template. Constant: SchemaId=1201
Versionuint1628Version of message schema

Was this helpful?