Resend Request


When is a Resend Request sent?

The receiving application initiates the retransmission of messages by sending a resend request when:

  • A sequence number gap is detected
  • A message is lost by the receiving application
  • Is a function of the initialization process

What type of message can a Resend Request request?

What can a Resend Request request?
The resend request can be used to:

  • Request a single message
  • Request a range of messages
  • Request all messages subsequent to a particular message.

Receiving Application Processing

Message Type Consideration
The sending application may wish to consider the message type when resending messages.

Example: If a new order is in the resend series and a significant time period has elapsed since
its original inception, the sender may not wish to retransmit the order given the potential for changed market conditions.

Note: The Sequence Reset<4> - GapFill message is used to skip messages that a sender does not wish to resend.

Sequential Order Processing

The receiving application must process messages in sequential order.

Example: When tag 7 is missed and tags 8-9 are received, the application should ignore tag
8-9 and request a resend of tag 7-9 or 7-16.

Using 7-16 is strongly recommended to recover from out of sequence conditions as it allows for faster recovery in the presence of certain race conditions when both sides are simultaneously attempting to recover a gap.

TagTag DescriptionExample ValueValue DescriptionRequired
8BeginStringFIX.4.2FIX VersionYes
9BodyLength63Length of messageYes
7BeginSeqNo8315Message sequence number of first message in range to be resentYes
16EndSeqNo0Message sequence number of last message in range to be resent. 0 represents infinity.Yes
34MsgSeqNum5033Message sequence numberYes
35MsgType2Resend Request MessageYes
49SenderCompIDTEST1Sender IDYes
52SendingTime20160131-16:14:43.047Sending timestampYes
56TargetCompIDDWFIX01Target IDYes
10CheckSum118Checksum of messageYes