net.corda.node.services.statemachine / FlowStateMachineImpl

# FlowStateMachineImpl

`class FlowStateMachineImpl<R> : FlowStateMachine<R>`

### Constructors

<init> | `FlowStateMachineImpl(id: StateMachineRunId, logic: FlowLogic<R>, scheduler: FiberScheduler)`

### Properties

id | `val id: StateMachineRunId` Unique ID for this machine run, valid across restarts
logger | `val logger: <ERROR CLASS>`
logic | `val logic: FlowLogic<R>`
resultFuture | `val resultFuture: <ERROR CLASS><R>` This future will complete when the call method returns.
serviceHub | `lateinit var serviceHub: ServiceHubInternal`

### Functions

receive | `fun <T : Any> receive(otherParty: Party, receiveType: Class<T>, sessionFlow: FlowLogic<*>): UntrustworthyData<T>`
run | `fun run(): R`
send | `fun send(otherParty: Party, payload: Any, sessionFlow: FlowLogic<*>): Unit`
sendAndReceive | `fun <T : Any> sendAndReceive(otherParty: Party, payload: Any, receiveType: Class<T>, sessionFlow: FlowLogic<*>): UntrustworthyData<T>`

### Companion Object Functions

currentStateMachine | `fun currentStateMachine(): FlowStateMachineImpl<*>?` Return the current FlowStateMachineImpl or null if executing outside of one.