The MFStpBookingSession interface provides several methods:
Note that the TradeCaptureReport objects do not contain the same fields as the TradeCaptureReport defined in the MFTradingHandler.MFStpBookingSessionHandlerMFStpBookingSession
logon()
LogonResponse()
replay()
replay()
TradeCaptureReportRequest()
tradeCaptureReportSpot()
Figure 6.1. – MFStpBookingSession message sequence. This shows normal function. Both sides must have synched their sequence numbers before the server will send the TradeCaptureRe- portRequest. This session synching is accomplished via the nextExpectedSeqNum field that is sent during logon.
6.3 handler features
The MFStpBookingHandler interface provides the basic set of callbacks in common with MFTradingHandler and MFCommonMarketDataHandler ( onStart(), onStop(), onConnect(), onDisconnect(), on( LogonResponse, ...), on( Logout, ...), on( LogoutResponse, ...), and on( Heartbeat, ...) ).
However, the usage is different. Due to the nature of the session, both sides are expected to replay messages in case of dropped connection. The client is to replay TradeCaptureReports (with PossDupFlag set to true), while the server will replay TradeCaptureReportAcks. The replay is controlled via the nextExpectedSeqNum fields which are sent during logon, this communicates to the other side what sequence number it is expecting of the other side, and therefore if replay is required or not.
The application should not start sending TradeCaptureReports until the TradeCaptureReportRequest message is received. This message is used to signal that the system is ready to process TradeCaptureReports sent by the client session.