corda / net.corda.node.services.statemachine

Package net.corda.node.services.statemachine

Types

ErrorSessionEnd data class ErrorSessionEnd : SessionEnd
ExistingSessionMessage interface ExistingSessionMessage : SessionMessage
FlowIORequest interface FlowIORequest
FlowSession class FlowSession
FlowSessionState sealed class FlowSessionState

FlowSessionState describes the session's state.

FlowStateMachineImpl class FlowStateMachineImpl<R> : Fiber<Unit>, FlowStateMachine<R>
NormalSessionEnd data class NormalSessionEnd : SessionEnd
ReceiveOnly data class ReceiveOnly<T : SessionMessage> : ReceiveRequest<T>
ReceiveRequest interface ReceiveRequest<T : SessionMessage> : SessionedFlowIORequest, WaitingRequest
ReceivedSessionMessage data class ReceivedSessionMessage<out M : ExistingSessionMessage>
SendAndReceive data class SendAndReceive<T : SessionMessage> : SendRequest, ReceiveRequest<T>
SendOnly data class SendOnly : SendRequest
SendRequest interface SendRequest : SessionedFlowIORequest
SessionConfirm data class SessionConfirm : SessionInitResponse
SessionData data class SessionData : ExistingSessionMessage
SessionEnd interface SessionEnd : ExistingSessionMessage
SessionInit data class SessionInit : SessionMessage
SessionInitResponse interface SessionInitResponse : ExistingSessionMessage
SessionMessage interface SessionMessage
SessionReject data class SessionReject : SessionInitResponse
SessionedFlowIORequest interface SessionedFlowIORequest : FlowIORequest
StateMachineManager class StateMachineManager

A StateMachineManager is responsible for coordination and persistence of multiple FlowStateMachine objects. Each such object represents an instantiation of a (two-party) flow that has reached a particular point.

WaitForLedgerCommit data class WaitForLedgerCommit : WaitingRequest
WaitingRequest interface WaitingRequest : FlowIORequest

Exceptions

FlowSessionException class FlowSessionException : RuntimeException
StackSnapshot class StackSnapshot : Throwable

Functions

checkPayloadIs fun <T> ReceivedSessionMessage<SessionData>.checkPayloadIs(type: Class<T>): UntrustworthyData<T>