Resend Request logic is the FIX session mechanism by which a given system, upon detecting a higher than expected message sequence number from its counterparty, requests a range of ordered messages resent from the counterparty. The counterparty resends the requested message range sequentially until both systems are back in sequence.
|Customers must wait for in-flight resend requests to be fulfilled before logging out or failing over to the backup gateway.|
If the client system exceeds this value, CME Globex sends a Session Level Reject (tag 35-MsgType=3) message. Tag 58-Text in this message will contain the following: "Range of messages to resend is greater than maximum allowed 2500."
The following example illustrates the use of the Gap Fill message during resend processing. The iLink 2 Sequence Reset message is identified as a Gap Fill by tag 123-GapFillFlag equal to 'Y'.
- The message sent by CME Globex has tag 34-MsgSeqNum=11 and is higher than the client system is expecting.
- The client system responds with a iLink 2 Resend Request with tag 7-BeginSeqNo=10 and tag 16-EndSeqNo=0 indicating infinity.
- Before CME Globex receives the Resend Request, it has already sent messages 12 and 13.
- When the client system receives messages 12 and 13, the absence of the tag 122-OrigSendingTime and tag 369-LastMsgSeqNumProcessed = 199 indicates that messages 12 and 13 are not the resend responses it is expecting.
- The client system, therefore, issues duplicate Resend Requests with tag 43-PossDupFlag=Y.
- When CME Globex receives the original Resend Request, it processes it by re-sending messages 10 - 13 with tag 43-PossDupFlag =Y and tag 122-OrigSendingTime tag populated.
- Since the subsequent Resend Requests were sent as duplicates with tag 43-PossDupFlag=Y and CME Globex has already processed the original message, per the FIX Protocol, CME Globex ignores the duplicate Resend Requests.