ADAP Message Fields
Each ADAP message delivers one or more updates for a Symbol's ADAP book. Each ADAP message contains one or more ADAP Blocks messages. A receiving process should interpret each ADAP Block message as a replacement for any previously delivered ADAP Blocks messages at that price level.
A quantity of 0 indicates that the price level is either no longer available or the price level is not within the number ADAP levels maintained by the feed. In either case a receiving process should delete a price level with a 0 quantity from its cache.
| Field | Offset | Length | Value/Type | Description |
|---|---|---|---|---|
| Length | 0 | 1 | Binary | Length of this message including this field |
| Message Type | 1 | 1 | 0xA7 | ADAP message |
| Last Update Timestamp | 2 | 8 | Binary |
|
| Symbol | 10 | 8 | Alphanumeric | Symbol right padded with spaces. |
| Flags | 18 | 1 | Bit Field |
|
| Spare | 19 | 1 | Spare | |
| ADAP Blocks | 20 | 1 | Binary | Number of ADAP Blocks messages to follow |
| ADAP Block Size | 21 | 1 | Binary | Size of each ADAP Block message |
| Header Length = 22 bytes | ||||
| Field | Offset | Length | Value/Type | Description |
|---|---|---|---|---|
| Reserved | 0 | 1 | Alphanumeric | Reserved |
| Side | 1 | 1 | Alphanumeric |
|
| Price | 2 | 4 | Binary 4.4 Price | Price level to add/update in the ADAP book. |
| Quantity | 6 | 4 | Binary | Quantity of shares at this price level in the ADAP book. A value of zero implies deletion of this ADAP level. |
| Short ADAP Block Length Indicated by ADAP Block Size in Header | ||||
| Field | Offset | Length | Value/Type | Description | |
|---|---|---|---|---|---|
| Reserved | 0 | 1 | Alphanumeric | Reserved | |
| Side | 1 | 1 | Alphanumeric |
| |
| Price | 2 | 8 | Binary 8.4 Price | Price level to add/update in the ADAP book. | |
| Quantity | 10 | 8 | Binary | Quantity of shares at this price level in the ADAP book. A value of zero implies deletion of this ADAP level. | |
| Long ADAP Block Length Indicated by ADAP Block Size in Header | |||||
| Total Length = Variable → (Header Length [22 bytes] + ADAP Blocks x ADAP Block Size) | |||||





