corda / net.corda.core.internal / FlowStateMachine

FlowStateMachine

interface FlowStateMachine<R>

This is an internal interface that is implemented by code in the node module. You should look at FlowLogic.

Properties

flowInitiator

abstract val flowInitiator: FlowInitiator

id

abstract val id: StateMachineRunId

logger

abstract val logger: Logger

resultFuture

abstract val resultFuture: ListenableFuture<R>

serviceHub

abstract val serviceHub: ServiceHub

Functions

checkFlowPermission

abstract fun checkFlowPermission(permissionName: String, extraAuditData: Map<String, String>): Unit

receive

abstract fun <T : Any> receive(receiveType: Class<T>, otherParty: Party, sessionFlow: FlowLogic<*>): UntrustworthyData<T>

recordAuditEvent

abstract fun recordAuditEvent(eventType: String, comment: String, extraAuditData: Map<String, String>): Unit

send

abstract fun send(otherParty: Party, payload: Any, sessionFlow: FlowLogic<*>): Unit

sendAndReceive

abstract fun <T : Any> sendAndReceive(receiveType: Class<T>, otherParty: Party, payload: Any, sessionFlow: FlowLogic<*>, retrySend: Boolean = false): UntrustworthyData<T>

waitForLedgerCommit

abstract fun waitForLedgerCommit(hash: SecureHash, sessionFlow: FlowLogic<*>): SignedTransaction

Extension Functions

declaredField

fun <T> Any.declaredField(name: String): DeclaredField<T>

Returns a DeclaredField wrapper around the declared (possibly non-public) instance field of the receiver object.

fun <T> Any.declaredField(clazz: KClass<*>, name: String): DeclaredField<T>

Returns a DeclaredField wrapper around the (possibly non-public) instance field of the receiver object, but declared in its superclass clazz.

Inheritors

FlowStateMachineImpl

class FlowStateMachineImpl<R> : Fiber<Unit>, FlowStateMachine<R>