The Lab

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from this space and version 1.5.11

...

Tip
In this event, the Customer should contact MF Support Contact in order to confirm the validity of the specified credentials.

...

Info
titlePreviously Sent Messages

The MF Gateway MF Gateway guarantees persistence of sent outbound messages for possible resend for a minimum period of three heartbeat intervals, allowing for detection of dead connections as per 63805411 Session Monitoring, below.


Info
titleUnsent Messages

Any unsent messages will be persisted indefinitely until either:

  • End of Trading Week reset, or
  • Client Logon and Client Session Synchronisationwith ResetSeqNumFlag = FALSE or unset, and subsequent User Session Synchronisation.
  • Client Logon with ResetSeqNumFlag = TRUE. This flag may be used at Client discretion, but is recommended for UAT or PROD Pricing sessions only.



The table below specifies what messages are to be persisted and resent when necessary, as opposed to being gap-filled.

...

Table Filter
inversefalse,false
default,
cell-width150,150
userfilterSent By,Persisted
datepatternyy-mm-dd
id1571392653103_486306577
labelsSent By‚Persisted
order0,1


MessageSent ByReceived ByPersisted
LogonClient (Both)GatewayNo
LogonResponseGatewayClient (Both)No
LogoutClient (Both)GatewayNo
LogoutResponseGatewayClient (Both)No
SequenceResetGapFillClient (Both)GatewayNo
GatewayClient (Both)No
HeartbeatClient (Both)GatewayNo
GatewayClient (Both)No
TestRequestClient (Both)GatewayNo
GatewayClient (Both)No
SecurityStatusGatewayClient (TAKER)No
UserRequestClient (Both)GatewayNo
UserNotificationGatewayClient (Both)No
ErrorReportGatewayClient (Both)Yes
BusinessMessageRejectGatewayClient (Both)Yes
MarketDataRequestClient (TAKER)GatewayNo
MarketDataRequestRejectGatewayClient (Both)No
MarketDataIncrementalRefreshGatewayClient (Both)No
QuoteRequestClient (TAKER)GatewayOptional
GatewayClient (MAKER)Yes
QuoteClient (MAKER)GatewayNo
GatewayClient (TAKER)No
MassQuoteClient (MAKER)GatewayNo
GatewayClient (TAKER)No
QuoteCancelClient (MAKER)GatewayNo
GatewayClient (TAKER)No
QuoteResponseClient (MAKER)GatewayOptional
GatewayClient (TAKER)Yes
Client (TAKER)GatewayOptional
GatewayClient (MAKER)Yes
NewOrderMultilegClient (TAKER)GatewayOptional
GatewayClient (MAKER)Yes
OrderCancelReplaceRequestClient (TAKER)GatewayOptional
OrderCancelRequestClient (TAKER)GatewayOptional
OrderCancelRejectGatewayClient (TAKER)Yes
OrderTimeoutGatewayClient (Both)Yes
ExecutionReportClient (MAKER)GatewayYes
GatewayClient (TAKER)Yes
ExecutionAckClient (TAKER)GatewayOptional
GatewayClient (MAKER)Yes



User Session Synchronisation

...

  • If the Client msgSeqNum is lower than the Gateway's expected value, or the Client is expecting a sequence number higher than the Gateway's next-to-be-assigned msgSeqNum, then this is an unrecoverable error and the Gateway will abort the session with a Logout message (using it's next sequence number).

    Tip
    The Customer should contact MF Support Contact to agree the correct resolution actions.


  • Otherwise, the Gateway will issue a LogonResponse message - populating NextExpectedMsgSeqNum which contains the next msgSeqNum value that it expects to receive from the Client.

...

  • Irrespective of whether repays are required in either direction or not, the Gateway will always issue a further TestRequest to verify overall completion of the session synchronisation. Thus the Client may be expected to respond to one, two or three TestRequest messages in total to successfully Logon.

...



Gliffy Diagram

...

titleDeprecated Synchronisation Model

...

Prior to Release 2020.11.16.WE, the Whisperer Enterprise Client synchronisation model mandated that the Client signal its completion of session synchronisation with a TestRequest. On receipt of this TestRequest, the Whisperer Gateway would respond with the necessary Heartbeat and then signal its own completion of session synchronisation with a TestRequest in the opposite direction. 

This is now deprecated and the Gateway issues all required TestRequest messages.

The Client may of course elect to issue TestRequest message at any time, as part of their own session verification logic.

In the sequence diagram below, the deprecated model is in red, whilst the replacement model is in green.

Gliffy Diagram
displayNameUser Session Synchronziation
nameUser Session Synchronziation

...

Warning

The Gateway TestRequest messages and Client Heartbeat (response) messages are required as verification that no sequence number gaps remain in either direction.

The Client should only proceed with new messages when these have been processed correctly.

Any  Any new (i.e. not SequenceResetGapFill or SequenceResetGapFill or resent) messages sent by the MFAPI Client prior to the required Heartbeat responses will result in ErrorReport notifications.

...

Should the Client attempt to establish a second  (additional) session using the same credentials as of a currently-active Client session, then it will be rejected. The original session will be unaffected.



 

Gliffy Diagram
displayName4.0 Schema_2ndLogon
name4.0 Schema_2ndLogon

Session Monitoring

...

Warning
A heartbeat is deemed to have been missed if it is not received within HeartBtInt + MaxTx seconds and must result in the monitoring party issuing a TestRequest.




Gliffy Diagram
displayName4.0 Schema_Heartbeat_3
name4.0 Schema_Heartbeat_3

...

Warning
If no Heartbeat response is received within HeartBtInt + MaxTx seconds of the issuance of the TestRequest, then the party must abort the session with a Logout message.


Gliffy Diagram
displayName4.0 Schema_TestRequest
name4.0 Schema_TestRequest

...