Login Request Message Fields
A LoginRequest message must be sent as the first message upon connection.
The message includes a repeating group starting with field UnitNumber which repeats NumberOfUnits times. This can be used to specify the last consumed sequence numbers per matching unit received by the member. Cboe uses these sequence numbers to determine what outbound (Cboe to Member) traffic, if any, was missed by the member. If NumberOfUnits is 0, it is assumed the member has not received any messages (e.g., start of day).
The member does not need to include a sequence number for a unit if they have never received messages from it. If the member wishes to send a value for the unit anyway, 0 is the only allowed value.
If the member is sending a LoginRequest message to a Unit Order Port, Unit Quoting Port, or Unit Purge Port, the only UnitNumber accepted is the number of the port’s unit.
Logins to a BOEv3 convenience session have no limitation on the number of messages to replay on a login. Cboe therefore will not accept a login request on a convenience session having ReplayInstruction = D. Logins to a BOEv3 unitized session on the primary login port are limited to the most recent 1000 sequences on BOE3 unitized sessions. Recovery of messages beyond the limit can be accomplished using ReplayInstruction = D on an inactive port (normally the secondary or DR port). See Appendix C - Login Playbook for more details.
| Field Name | Offset | Length | Data Type | Description |
|---|---|---|---|---|
| StartOfMessage | 0 | 2 | Binary | 0xB0 0xE3 (58288) |
| MessageLength | 2 | 2 | Binary | |
| MessageType | 4 | 2 | Binary | 0x0001 (1) |
| MatchingUnit | 6 | 1 | Binary | Must be zero |
| Reserved | 7 | 1 | Binary | Must be zero |
| SequenceNumber | 8 | 4 | Binary | Must be zero |
| SessionId | 12 | 4 | AlphaNumeric | Session Id as supplied by Cboe |
| SessionSubId | 16 | 4 | AlphaNumeric | Session Sub Id as supplied by Cboe |
| Password | 20 | 10 | AlphaNumeric | The password associated with the SessionId and SessionSubId. |
| ReplayInstruction | 30 | 1 | Text |
|
| NumberOfUnits | 31 | 1 | Binary | The number (possibly 0) of unit/sequence pairs to follow, one per unit from which the member has received messages over this port. The value must be 0 or 1 for unitized BOE ports. |
| →UnitNumber | 32 | 1 | Binary | A unit number. This must be the unit number of the port. |
| →UnitSequence | 33 | 4 | Binary | Last received sequence number for the unit. |





