class FlowStateMachineImpl<R> : Fiber<R>, FlowStateMachine<R>
<init> |
FlowStateMachineImpl(id: StateMachineRunId, logic: FlowLogic<R>, scheduler: FiberScheduler) |
id |
val id: StateMachineRunId |
logger |
val logger: Logger |
logic |
val logic: FlowLogic<R> |
resultFuture |
val resultFuture: ListenableFuture<R>
This future will complete when the call method returns. |
serviceHub |
lateinit var serviceHub: ServiceHubInternal |
receive |
fun <T : Any> receive(receiveType: Class<T>, otherParty: Party, sessionFlow: FlowLogic<*>): UntrustworthyData<T> |
run |
fun run(): R |
send |
fun send(otherParty: Party, payload: Any, sessionFlow: FlowLogic<*>): Unit |
sendAndReceive |
fun <T : Any> sendAndReceive(receiveType: Class<T>, otherParty: Party, payload: Any, sessionFlow: FlowLogic<*>): UntrustworthyData<T> |
currentStateMachine |
fun currentStateMachine(): FlowStateMachineImpl<*>?
Return the current FlowStateMachineImpl or null if executing outside of one. |
getOrThrow |
fun <T> Future<T>.getOrThrow(timeout: Duration? = null): T
Same as Future.get but with a more descriptive name, and doesn't throw ExecutionException, instead throwing its cause |