Login, Replay and Sequencing
Session level messages, both inbound (Member to Cboe) and outbound (Cboe to Member) are unsequenced.
Inbound (Member to Cboe) application messages are sequenced. Upon reconnection, Cboe informs the Member of the last processed sequence number; the Member may choose to resend any messages with sequence numbers greater than this value. A gap forward in the Member's incoming sequence number is permitted at any time and is ignored by Cboe. Gaps backward in sequence number (including the same sequence number used twice) are never permitted and will always result in a Logout message being sent and the connection being dropped.
Most (but not all) outbound (Cboe to Member) application messages are monotonically sequenced per matching unit. Each message's documentation will indicate whether it is sequenced or unsequenced. While matching units on BOE correspond directly to matching units on Multicast PITCH, sequence numbers do not.
Upon reconnection, a Member sends the last received sequence number per matching unit in a Login Request message. Cboe will respond with any missed messages. However, when the NoUnspeciedUnitReplay flag is enabled in the Login Request message, Cboe will exclude messages from unspecified matching units during replay. Cboe will send a Replay Complete message when replay is finished. If there are no messages to replay, a Replay Complete message will be sent immediately after a Login Response message. Cboe will reject all orders during replay.
Assuming a Member has requested replay messages using a properly formatted Login Request message after a disconnect, any unacknowledged orders remaining with the Member after the Replay Complete message is received should be assumed to be unknown to Cboe.
Unsequenced messages will not be included during replay.
A session is identified by the username and session sub-identifier (both supplied by Cboe). Only one concurrent connection per username and session sub-identifier is permitted.
If a login is rejected, an appropriate Login Response message will be sent and the connection will be terminated.





