These messages are received by the "on(...)" methods of a handler implementing the MFTradingHandler interface.
LogonResponse
Called upon a successful logon.
Logout
Called when a logout is request to the client. The client should respond with a logout response.
LogoutResponse
A response to a successful logout request.
Heartbeat
Called when a heartbeat is received. Heartbeats are only sent from the server if
SecurityDefinition
call on each security definition in response to a security definition request.
SecurityStatus
called on a response to a marketdata request to notify the subscription status of a particular security.
MarketDataRequestReject
Called on a response to a marketdata request to notify the request could not be processed.
MarketDataIncrementalRefresh
Called on the beginning of a group of marketdata updates. Contains header information about the group of MDEntry objects that will follow. There will be at least 1 onMDEntry call that follows this call.
MDEntry
Called (at least once) after a MarketDataIncrementalRefresh; once for each update in the group.
MDEntry objects can represent:
After processing every MDEntry you should check to see if it's the last entry in the group (method/property on the MDEntry object). If it is, then the update is complete and you can perform your action with the book; i.e. publish the current book.
For Quote type feeds (like most banks) - the first MDEntry you'll receive will be an Empty book instruction, followed by all the bid and offers to make up the new book (which might be none if the book is empty)
BatchesCompleted
Called to signal that a EBS batch is complete.
Table 4.1. – Market data message types
MFMarketDataSession MFMarketData
onStart()
logon()
onConnect()
onLogonResponse()
securityDefintionRequest()
onSecurityDefinition()
marketDataRequest()
onSecurityStatus()
onMarketDataIncrementalRefresh()
onMDEntry()
Figure 4.1. – Showing the flow to demonstrate subscribing to market data. After sending a MarketDataRequest, the client will receive a SecurityStatus message, which will indicate the status of the subscription, as well as the trade and value date of the instrument. Then the client will receive a "snapshot", which will be the first MarketDataIncrementalRefresh group (which will have "numMDEntries" MDEntry messages following it, which are part of the same update), where the first entry will be an entry of type EmptyBook.