public class SessionStateContext extends java.lang.Object implements StateContext, EventHandler, MessageHandler
| Constructor and Description |
|---|
SessionStateContext(CallbackHandler clientMessageHandler,
NextExpectedMessageSequenceNumberStore inputSequenceStore,
NextOutgoingMessageSequenceNumberStore nextOutgoingMessageSequenceNumberStore,
java.time.Clock clock,
int heartbeatIntervalSeconds) |
| Modifier and Type | Method and Description |
|---|---|
void |
assertAndAddOneToNextExpectedSequenceNumber(long expected)
Asserts the current next expected sequence number is equal to the parameter.
|
void |
assertAndSetNextExpectedSequenceNumber(long expected,
long newValue) |
void |
connect() |
void |
disconnect() |
long |
getCurrentTimeMs() |
long |
getLastReceivedTimestamp() |
long |
getLastSentTimestamp() |
long |
getNextExpectedMsgSeqNum() |
long |
getNextOutgoingSequenceNumber() |
void |
init(InternalSession internalSession) |
boolean |
isReplaySession() |
void |
moveToClientToServerSyncState(long serverNextExpectedMsgSeqNum) |
void |
moveToDisconnectingFromGatewayState() |
void |
moveToDisconnectingFromVenueState() |
void |
moveToEndOfSessionSyncState() |
void |
moveToLoggedOnToGatewayState() |
void |
moveToLoggedOnToVenueState() |
void |
moveToLoggingOnState() |
void |
moveToOfflineConnectingState() |
void |
moveToOfflineWaitingState() |
void |
moveToServerToClientSyncState(long serverNextExpectedMsgSeqNum,
long serverLogonResponseMsgSeqNum,
boolean requiresClientToServerSynchronization) |
void |
notifyClientLogoffRequest() |
void |
notifyClientMarketFactoryLogOff() |
void |
notifyClientMarketFactoryLogOn() |
void |
notifyClientReplayRequest(long initialSeqNum,
long targetSeqNum) |
void |
notifyClientVenueLogoff() |
void |
notifyClientVenueLogon() |
void |
onApplicationMessageReport(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.ApplicationMessageReportDecoder applicationMessageReport) |
void |
onBusinessMessageReject(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.BusinessMessageRejectDecoder businessMessageReject)
The handling of the BusinessMessageReject is slightly different to other business-level messages.
|
void |
onClientRequestedDisconnection()
Called when a client wants the session to disconnect immediately
|
void |
onClientRequestedLogon()
Called when a client wants the session to logon
|
void |
onClientRequestedLogout()
Called when a client wants the session to gracefully logout
|
void |
onConnection()
Called when a connection is made to a MF server.
|
void |
onDisconnection()
Called when a connection is lost from a MF server.
|
void |
onEndMarker(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.EndMarkerDecoder endMarker) |
void |
onErrorReport(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.ErrorReportDecoder errorReport) |
void |
onExecutionAck(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.ExecutionAckDecoder executionAck) |
void |
onExecutionReport(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.ExecutionReportDecoder executionReport) |
void |
onHeartbeat(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.HeartbeatDecoder heartbeat) |
void |
onLogonResponse(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.LogonResponseDecoder logonResponse) |
void |
onLogout(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.LogoutDecoder logout) |
void |
onLogoutResponse(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.LogoutResponseDecoder logoutResponse) |
void |
onMarketDataIncrementalRefresh(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.MarketDataIncrementalRefreshDecoder marketDataIncrementalRefresh) |
void |
onMarketDataRequestReject(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.MarketDataRequestRejectDecoder marketDataRequestReject) |
void |
onMassQuote(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.MassQuoteDecoder massQuote) |
void |
onNewOrderMultileg(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.NewOrderMultilegDecoder newOrderMultileg) |
void |
onOrderCancelReject(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.OrderCancelRejectDecoder orderCancelReject) |
void |
onOrderTimeout(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.OrderTimeoutDecoder orderTimeout) |
void |
onQuote(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.QuoteDecoder quote) |
void |
onQuoteCancel(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.QuoteCancelDecoder quoteCancel) |
void |
onQuoteRequest(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.QuoteRequestDecoder quoteRequest) |
void |
onQuoteResponse(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.QuoteResponseDecoder quoteResponse) |
void |
onReadable()
Called when a connection has data to read
|
void |
onReject(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.RejectDecoder reject) |
void |
onReplayedMessage(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.ReplayedMessageDecoder replayedMessage) |
void |
onSecurityStatus(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.SecurityStatusDecoder securityStatus) |
void |
onSequenceResetGapFill(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.SequenceResetGapFillDecoder sequenceResetGapFill) |
void |
onTestRequest(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.TestRequestDecoder testRequest) |
void |
onTimer(long currentTimeMillis)
Called periodically to generate a stream of events that can be used to send heartbeats, detect dead connections, etc.
|
void |
onUserNotification(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.UserNotificationDecoder userNotification) |
void |
onWritable()
Called when a connection can be written to.
|
void |
sendHeartbeatMessage() |
void |
sendLogonMessage() |
void |
sendLogoutMessage(java.lang.String reason) |
void |
sendLogoutResponseMessage() |
void |
sendTestRequestMessage(java.lang.String testReqID) |
void |
sendTestRequestResponseMessage(java.lang.String testReqID) |
void |
sendUserRequestMessage(com.marketfactory.protocol.sbe4.UserRequestType userRequestType,
java.lang.String reason) |
java.lang.String |
toString() |
public SessionStateContext(CallbackHandler clientMessageHandler, NextExpectedMessageSequenceNumberStore inputSequenceStore, NextOutgoingMessageSequenceNumberStore nextOutgoingMessageSequenceNumberStore, java.time.Clock clock, int heartbeatIntervalSeconds)
public void init(InternalSession internalSession)
public void onClientRequestedLogon()
EventHandleronClientRequestedLogon in interface EventHandlerpublic void onClientRequestedLogout()
EventHandleronClientRequestedLogout in interface EventHandlerpublic void onClientRequestedDisconnection()
EventHandleronClientRequestedDisconnection in interface EventHandlerpublic void connect()
connect in interface StateContextpublic boolean isReplaySession()
isReplaySession in interface StateContextpublic void disconnect()
disconnect in interface StateContextpublic void onConnection()
EventHandleronConnection in interface EventHandlerpublic void onDisconnection()
EventHandleronDisconnection in interface EventHandlerpublic void moveToEndOfSessionSyncState()
moveToEndOfSessionSyncState in interface StateContextpublic void moveToServerToClientSyncState(long serverNextExpectedMsgSeqNum,
long serverLogonResponseMsgSeqNum,
boolean requiresClientToServerSynchronization)
moveToServerToClientSyncState in interface StateContextpublic void moveToClientToServerSyncState(long serverNextExpectedMsgSeqNum)
moveToClientToServerSyncState in interface StateContextpublic long getNextExpectedMsgSeqNum()
getNextExpectedMsgSeqNum in interface StateContextpublic void moveToLoggingOnState()
moveToLoggingOnState in interface StateContextpublic void assertAndSetNextExpectedSequenceNumber(long expected,
long newValue)
throws java.lang.IllegalStateException
assertAndSetNextExpectedSequenceNumber in interface StateContextjava.lang.IllegalStateExceptionpublic void assertAndAddOneToNextExpectedSequenceNumber(long expected)
throws java.lang.IllegalStateException
StateContextassertAndAddOneToNextExpectedSequenceNumber in interface StateContextexpected - value the current next expected sequence number should be.java.lang.IllegalStateException - if the current next expected sequence number is not equal to the parameter value.public long getNextOutgoingSequenceNumber()
getNextOutgoingSequenceNumber in interface StateContextpublic void moveToOfflineConnectingState()
moveToOfflineConnectingState in interface StateContextpublic void moveToOfflineWaitingState()
moveToOfflineWaitingState in interface StateContextpublic void moveToLoggedOnToGatewayState()
moveToLoggedOnToGatewayState in interface StateContextpublic void moveToLoggedOnToVenueState()
moveToLoggedOnToVenueState in interface StateContextpublic void moveToDisconnectingFromGatewayState()
moveToDisconnectingFromGatewayState in interface StateContextpublic void moveToDisconnectingFromVenueState()
moveToDisconnectingFromVenueState in interface StateContextpublic java.lang.String toString()
toString in class java.lang.Objectpublic long getCurrentTimeMs()
getCurrentTimeMs in interface StateContextpublic void sendHeartbeatMessage()
sendHeartbeatMessage in interface StateContextpublic void sendTestRequestMessage(java.lang.String testReqID)
sendTestRequestMessage in interface StateContextpublic void sendTestRequestResponseMessage(java.lang.String testReqID)
sendTestRequestResponseMessage in interface StateContextpublic void notifyClientMarketFactoryLogOn()
notifyClientMarketFactoryLogOn in interface StateContextpublic void notifyClientMarketFactoryLogOff()
notifyClientMarketFactoryLogOff in interface StateContextpublic void notifyClientVenueLogon()
notifyClientVenueLogon in interface StateContextpublic void notifyClientVenueLogoff()
notifyClientVenueLogoff in interface StateContextpublic void notifyClientReplayRequest(long initialSeqNum,
long targetSeqNum)
notifyClientReplayRequest in interface StateContextpublic void notifyClientLogoffRequest()
notifyClientLogoffRequest in interface StateContextpublic void sendLogonMessage()
sendLogonMessage in interface StateContextpublic void sendUserRequestMessage(com.marketfactory.protocol.sbe4.UserRequestType userRequestType,
java.lang.String reason)
sendUserRequestMessage in interface StateContextpublic void sendLogoutMessage(java.lang.String reason)
sendLogoutMessage in interface StateContextpublic void sendLogoutResponseMessage()
sendLogoutResponseMessage in interface StateContextpublic long getLastSentTimestamp()
getLastSentTimestamp in interface StateContextpublic long getLastReceivedTimestamp()
getLastReceivedTimestamp in interface StateContextpublic void onTimer(long currentTimeMillis)
EventHandleronTimer in interface EventHandlercurrentTimeMillis - current time in epoch millisecondspublic void onReadable()
EventHandleronReadable in interface EventHandlerpublic void onWritable()
EventHandleronWritable in interface EventHandlerpublic void onLogonResponse(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.LogonResponseDecoder logonResponse)
onLogonResponse in interface MessageHandlerpublic void onLogout(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.LogoutDecoder logout)
onLogout in interface MessageHandlerpublic void onLogoutResponse(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.LogoutResponseDecoder logoutResponse)
onLogoutResponse in interface MessageHandlerpublic void onSequenceResetGapFill(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.SequenceResetGapFillDecoder sequenceResetGapFill)
onSequenceResetGapFill in interface MessageHandlerpublic void onHeartbeat(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.HeartbeatDecoder heartbeat)
onHeartbeat in interface MessageHandlerpublic void onTestRequest(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.TestRequestDecoder testRequest)
onTestRequest in interface MessageHandlerpublic void onUserNotification(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.UserNotificationDecoder userNotification)
onUserNotification in interface MessageHandlerpublic void onMassQuote(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.MassQuoteDecoder massQuote)
onMassQuote in interface MessageHandlerpublic void onErrorReport(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.ErrorReportDecoder errorReport)
onErrorReport in interface MessageHandlerpublic void onQuoteResponse(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.QuoteResponseDecoder quoteResponse)
onQuoteResponse in interface MessageHandlerpublic void onOrderCancelReject(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.OrderCancelRejectDecoder orderCancelReject)
onOrderCancelReject in interface MessageHandlerpublic void onOrderTimeout(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.OrderTimeoutDecoder orderTimeout)
onOrderTimeout in interface MessageHandlerpublic void onExecutionReport(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.ExecutionReportDecoder executionReport)
onExecutionReport in interface MessageHandlerpublic void onExecutionAck(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.ExecutionAckDecoder executionAck)
onExecutionAck in interface MessageHandlerpublic void onQuote(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.QuoteDecoder quote)
onQuote in interface MessageHandlerpublic void onSecurityStatus(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.SecurityStatusDecoder securityStatus)
onSecurityStatus in interface MessageHandlerpublic void onMarketDataRequestReject(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.MarketDataRequestRejectDecoder marketDataRequestReject)
onMarketDataRequestReject in interface MessageHandlerpublic void onMarketDataIncrementalRefresh(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.MarketDataIncrementalRefreshDecoder marketDataIncrementalRefresh)
onMarketDataIncrementalRefresh in interface MessageHandlerpublic void onQuoteRequest(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.QuoteRequestDecoder quoteRequest)
onQuoteRequest in interface MessageHandlerpublic void onNewOrderMultileg(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.NewOrderMultilegDecoder newOrderMultileg)
onNewOrderMultileg in interface MessageHandlerpublic void onQuoteCancel(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.QuoteCancelDecoder quoteCancel)
onQuoteCancel in interface MessageHandlerpublic void onEndMarker(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.EndMarkerDecoder endMarker)
onEndMarker in interface MessageHandlerpublic void onReject(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.RejectDecoder reject)
onReject in interface MessageHandlerpublic void onBusinessMessageReject(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.BusinessMessageRejectDecoder businessMessageReject)
CallbackHandler).onBusinessMessageReject in interface MessageHandlerpublic void onReplayedMessage(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.ReplayedMessageDecoder replayedMessage)
onReplayedMessage in interface MessageHandlerpublic void onApplicationMessageReport(com.marketfactory.protocol.sbe4.MessageHeaderDecoder messageHeader,
com.marketfactory.protocol.sbe4.ApplicationMessageReportDecoder applicationMessageReport)
onApplicationMessageReport in interface MessageHandler