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.

Table 1. Login Request Message Fields
Field NameOffsetLengthData TypeDescription
StartOfMessage02Binary 0xB0 0xE3 (58288)
MessageLength22Binary
MessageType42Binary 0x0001 (1)
MatchingUnit61BinaryMust be zero
Reserved71BinaryMust be zero
SequenceNumber84BinaryMust be zero
SessionId124AlphaNumericSession Id as supplied by Cboe
SessionSubId164AlphaNumericSession Sub Id as supplied by Cboe
Password2010AlphaNumericThe password associated with the SessionId and SessionSubId.
ReplayInstruction301Text
  • Controls replay behavior for unknown units. ‘D’ is exclusively supported on unitized ports that are also inactive. Must be one of:
  • D=deep replay of specified unit
  • F=fail if unit not specified
  • R=replay any unspecified unit from zero
  • S=skip replay of unspecified units
NumberOfUnits311BinaryThe 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.
→UnitNumber321BinaryA unit number. This must be the unit number of the port.
→UnitSequence334BinaryLast received sequence number for the unit.
Cboe Titanium U.S. Options BOEv3 Specification - Login Request Message Fields | Cboe