Page tree
Skip to end of metadata
Go to start of metadata

The CME Globex Market Segment Gateway (MSGW) safeguards do the following:

  • identify iLink messages not sent completely in a single network packet or received out-of-order
  • add processing time of at least 3 microseconds on the responsible iLink session
  • notify client the reason for the additional processing and the duration.

This functionality is available only on MSGW sessions.

Contents

MSGW Safeguards Processing

When CME Globex detects an iLink message that spans more than one packet, CME Globex submits the message to additional processing.

Packet size maximum behavior based on MTU (Maximum Transmission Unit) = 1420 bytes as defined on the network.

When the MSGW receives a network packet with an incomplete message, the message is routed for additional processing as a market integrity control. This processing takes at least 3 microseconds. During processing, no other messages from that session will be processed to protect message sequence number integrity.

Additional incomplete messages received during the processing window will cause the window to extend.

As a result of safeguard processing: 

IF session AAA sends an incomplete message,

THEN session BBB sends a complete message,

THEN session BBB’s message may reach the match engine before that of session AAA.

Example 1 – Single Split Message

Assume the additional processing duration is 3 microseconds.

MSGW Split Message Queue

Example 2 – Multiple Split Messages

A new additional processing will be created for every split message. In the following example the same iLink session has created two additional processing.

MSGW Multiple Split Message Queue

Example 3 – Subsequent Complete Messages

When an MSGW session has a message undergoing the safeguard processing, all of the complete messages that the same session sends during that processing window will be handled in the order they were received.

MSGW Session Queue Subsequent Complete Messages

Example 4 – Out-Of-Order Messages

When CME receives out-of-sequence network packet(s), all messages from TCP packet #3 onward will be incur the additional safeguard processing.

Session Queue Out of Order

Session Logout Threshold

In cases where the iLink session undergoing additional processing exceeds the number of messages permitted, the session will be logged out and all in-flight messages rejected. The number of messages permitted is consistent for all iLink sessions and configured by the exchange (currently 15 messages for Future & Options and 50 messages for BrokerTec Markets). CME Group reserves the right to change the session logout threshold at any time without notice.

When a session logout threshold is triggered:

  • all resting orders are cancelled for all Cancel-on-Disconnect–registered MSGW sessions on a best-effort basis
  • all resting quotes are cancelled on behalf of Mass Quote customers
  • all in-flight messages will be rejected as follows:
    • CME Globex will send the Logout (tag 35-MsgType=5) message to notify client system of rejected orders, and terminate the session
      • the reason for logout will be in tag 58-Text="MSGW safeguard exceeded: no. of messages" (i.e. the total number of rejected messages at the time the safeguard process reached the logout threshold).
      • the sequence number from client system to CME Globex will not be incremented
      • tag 369-LastMsgSeqNumProcessed will have the last client system’s sequence number processed by CME Globex prior to the safeguard process
      • tag 789-NextExpecedMsgSeqNum will have the correct sequence number for the next message that the client system sends to CME Globex

CME Group reserves the right to change the additional processing duration and/or logout threshold.

Automated Port Closure can be triggered for sessions logged out as a result of exceeding the logout threshold if a customer continues to send iLink messages when the session has not been successfully logged back in.

Example 5 – Session Logout

This example shows a Session Logout Threshold scenario assuming a maximum of 4 in-flight messages.

In the following scenario:

  • the MSGW generates four Logout messages—one Logout for each message, but sends only the first. When the client system logs in, the Logon Acknowledgment tag 34-MsgSeqNum=204 rather than 201.
    • As a result, the client system may receive a Logon Confirmation (tag 35-MsgType=A) message with a sequence number higher than expected after the next client system login.

      The client system cannot submit a iLink 2 Resend Request message to recover unsent logout messages.

    • These logout messages will not be counted towards Auto Port Closure.

Session Logout Sequence Numbers

Logout Reason

When an MSGW session is undergoing additional safeguard processing and is logged out due to the number of in-flight messages, CME Globex will send a Logout message including the following tag 58=<Reject Reason> and reject all in-flight messages.

Message Type

Logout Reason

Tag 58-Text

Logout (tag 35-MsgType=5)

  • Exceeding the session logout threshold

MSGW safeguard exceeded: no. of messages

  • Hard TCP Disconnect (i.e. without sending a logout)
  • Customer initiated logout
  • Customer sends an invalid message (e.g. a lower than expected message sequence number)

Messages rejected due to session disconnect

  • No labels