Recovery from Unexpected Message Sequence Numbers

Each message sent on a channel causes its MsgSeqNumber to increment by one. To detect missing data at the channel-level, compare each incoming MsgSeqNumber with the last received MsgSeqNumber + 1. If the incoming MsgSeqNumber is not equal to the (last received MsgSeqNumber + 1), data is missing from the channel.

Regardless of whether missing data is detected or not, the MsgSeqNumber of the incoming message should be stored associated with the channel so subsequent missing data can be detected.

When missing data is detected at the channel-level, all market data for products received over that channel should be treated as "suspect", meaning their market data may be incorrect. At the time missing data is detected on a channel, there is no way to know which index's data is missing, therefore all indexes received from that channel must be treated as though the market data for those indexes may be incorrect.

Indexes marked as suspect or possibly incorrect should remain in that state until an index value message for that index is received. Use it to update the suspect index's market data and mark the index's market data as no longer suspect.

Cboe Titanium Cboe Global Indices Feed Specification - Recovery from Unexpected Message Sequence Numbers | Cboe