Message Header
A packet contains multiple messages. Each message is preceded by a message header common to all messages.
| Message Header | Contents | |||||
|---|---|---|---|---|---|---|
| Template Defined Fields | ||||||
| Length | Template ID | Msg Type | Msg Seq # | Field #1 | … | Field #N |
| Field ID | Field Name | Type | Length (Bytes) | Comments |
|---|---|---|---|---|
| Message Length | uInt32 | 2 | The length of this message including the 2 bytes for this length field. | |
| Template ID | uInt32 | 1 | The Template ID is for decoding the message. See CBOE Streaming Market Templates and IDs Table | |
| 35 | MessageType | String | 1 | See Message Types Table |
| 34 | MsgSeqNum | uInt32 | 4 | Sequence Number |
The Message Length is encoded as a 2 byte (16 bit) unsigned integer including itself, the remainder of the message, and all Message Header fields.
The Template ID defines the specific structure of the message.
The Message Type defines the market data message type compliant to the FIX standard.
The message sequence number is a consecutively increasing number from the previous message. The first message in a packet will start with one number greater than the last message in the previous packet.
| Value | Message Type |
|---|---|
| X |
|
| D | Index Definition Message |
| 0 | Heartbeat |
Note: Per specifications, message types can be shared; therefore, the body of the message is determined based on the template_id provided.





