Page History
...
Once instructed to do so by the Client User, the Feed Handler will attempt to logon to the Venue. Should a connection not be established immediately, it will periodically retry as follows:
- On a each failed logon attempt the Feed Handler will:
- First issue an ErrorReport(Subject= VenueLogonError, Text="Venue Logon failed, waiting <RetryInterval>s before retry."), then
- wait RetryInterval seconds (> 0), and repeat.
- Once MaxAttempts (> 0) failed logons occur in a row, the Feed Handler will:
- First issue an ErrorReport(Subject= VenueLogonError, Text="Venue Logon failed, waiting <BackoffInterval>s before retry."), then
- wait BackoffInterval seconds (>= 0) and restart the cycle.
This behaviour applies across all Feed Handlers, irrespective of line protocol, Maker/Taker perspective, or trading model.
...
Feed Handler Detection of Venue Sequence Number Gaps
Non-recoverable Inbound seqNum Gaps
If the incoming message has a sequence number less than expected and the PossDupFlag is not set, then a serious error has occurred. In this scenario, the Feed handler will issue a UserNotification(UserStatus=LoggedOff, Text="Session synchronization failure.").
| Tip |
|---|
| In this event, the Customer should contact MF Support in order to confirm any necessary corrective action. |
Recoverable Inbound seqNum Gaps
If a recoverable sequence number gap is detected on receipt of the Venue's logon response, then the Feed Handler will:
- First issue an ErrorReport(Subject= VenueSeqNumError, Text="Issuing ResendRequest."), then
- a ResendRequest will be issued.
Whilst a sequence gap exists, no other Venue messages will be processed until the sequence gap is resolved - via SequenceResetGapFill(s) and message resends, as the Venue deems necessary.
...
The Client User must therefore be capable of receiving and processing resent re-sent Venue messages relating to it's previous session (marked as PossResend) in the interval between the UserRequest and the UserNotification.
...
Venue Detection of Feed Handler Sequence Number Gaps
Non-recoverable Outbound seqNum Gaps
If the Feed Handler's outgoing Logon message has a lower than expected sequence number from the Venue's perspective, then a serious error has occurred. In this scenario, the Venue will terminate the session and the Feed handler will issue a UserNotification(UserStatus=LoggedOff, Text="<Message provided by Venue>").
| Tip |
|---|
| In this event, the Customer should contact MF Support in order to confirm any necessary corrective action. |
Recoverable Outbound seqNum Gaps
If the sequence number associated with Venue Logon message issued by the Feed Handler indicates a recoverable gap, then the Venue will typically respond with a Logon response, followed by a ResendRequest.
Whisperer will respond to this as follows:
- First issue an ErrorReport(Subject= VenueSeqNumError, Text="Responding to ResendRequest."), then
- The gap will then be resolved via SequenceResetGapFill(s) and/or message resends, as mandated by the Venue.
- Immediately after resolution of the sequence gap, Whisperer will formally Logout from the Venue and then re-Logon.
- As a final verification, the Feed Handler will issue a TestRequest against the Venue; receipt of the Heartbeat response triggers Whisperer to notify the Client of successful session establishment via the UserNotification(UserStatus=LoggedOn).
Client Session Synchronisation
...
- A request from the Client via UserRequest (UserRequestType=LogOffUser).
- The Venue initiates a Logout (e.g. End of Day).
- Whisperer detects a dropped connection (e.g. Network failure, Venue-initiated session termination).
- Whisperer shutdown
In all scenarios, the Client is notified of the event via UserNotification (UserStatus=LoggedOff).
...