net.corda.core.flows

## Interface FlowStateMachine<R>

- All Known Implementing Classes:
    FlowStateMachineImpl

      public FlowStateMachine<R>

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

  See Also:
    `class FlowLogic`

- - ### Method Summary

    All Methods Instance Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `StateMachineRunId` | `getId()`
    `org.slf4j.Logger` | `getLogger()`
    `com.google.common.util.concurrent.ListenableFuture<R>` | `getResultFuture()`
    `ServiceHub` | `getServiceHub()`
    `<T> UntrustworthyData<T>` | `receive(java.lang.Class<T> receiveType, Party otherParty, FlowLogic<?> sessionFlow)`
    `void` | `send(Party otherParty, java.lang.Object payload, FlowLogic<?> sessionFlow)`
    `<T> UntrustworthyData<T>` | `sendAndReceive(java.lang.Class<T> receiveType, Party otherParty, java.lang.Object payload, FlowLogic<?> sessionFlow)`
    `SignedTransaction` | `waitForLedgerCommit(SecureHash hash, FlowLogic<?> sessionFlow)`

- - ### Method Detail

    - #### sendAndReceive

          <T> UntrustworthyData<T> sendAndReceive(java.lang.Class<T> receiveType,
                                                  Party otherParty,
                                                  java.lang.Object payload,
                                                  FlowLogic<?> sessionFlow)

    - #### receive

          <T> UntrustworthyData<T> receive(java.lang.Class<T> receiveType,
                                           Party otherParty,
                                           FlowLogic<?> sessionFlow)

    - #### send

          void send(Party otherParty,
                    java.lang.Object payload,
                    FlowLogic<?> sessionFlow)

    - #### waitForLedgerCommit

          SignedTransaction waitForLedgerCommit(SecureHash hash,
                                                FlowLogic<?> sessionFlow)

    - #### getServiceHub

          ServiceHub getServiceHub()

    - #### getLogger

          org.slf4j.Logger getLogger()

    - #### getId

          StateMachineRunId getId()

    - #### getResultFuture

          com.google.common.util.concurrent.ListenableFuture<R> getResultFuture()