corda / net.corda.core.flows / FinalityRecoveryFlow

FinalityRecoveryFlow

@StartableByRPC @InitiatingFlow class FinalityRecoveryFlow : FlowLogic<Map<FlowTransactionInfo, Boolean>>

TWO_PHASE_FINALITY Recovery Flow This flow is exposed via the Core API for use by any CorDapp but its implementation is available in Enterprise only.

Types

ExtraConstructorArgs

data class ExtraConstructorArgs

Constructors

<init>

FinalityRecoveryFlow(txId: SecureHash, forceRecover: Boolean = false)
FinalityRecoveryFlow(txIds: Collection<SecureHash>, forceRecover: Boolean = false, recoverAll: Boolean = false)
FinalityRecoveryFlow(flowId: StateMachineRunId, forceRecover: Boolean = false)
FinalityRecoveryFlow(flowIds: Collection<StateMachineRunId>, forceRecover: Boolean = false)
FinalityRecoveryFlow(recoverAll: Boolean, forceRecover: Boolean = false)
FinalityRecoveryFlow(matchingCriteria: FlowRecoveryQuery, forceRecover: Boolean = false)

TWO_PHASE_FINALITY Recovery Flow This flow is exposed via the Core API for use by any CorDapp but its implementation is available in Enterprise only.

FinalityRecoveryFlow(txIds: Collection<SecureHash> = emptySet(), flowIds: Collection<StateMachineRunId> = emptySet(), matchingCriteria: FlowRecoveryQuery? = null, forceRecover: Boolean = false, recoverAll: Boolean = false, forceRecoverFlowIds: Collection<StateMachineRunId> = emptySet(), progressTracker: ProgressTracker = ProgressTracker())

Properties

progressTracker

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something helpful with the progress reports e.g record to the audit service. If this flow is invoked as a subflow of another, then the tracker will be made a child of the current step in the parent. If it's null, this flow doesn't track progress.

val progressTracker: ProgressTracker

Functions

call

This is where you fill out your business logic.

fun call(): Map<FlowTransactionInfo, Boolean>

getExtraConstructorArgs

fun getExtraConstructorArgs(): ExtraConstructorArgs

Extension Functions

receiveAll

Suspends until a message has been received for each session in the specified sessions.

fun FlowLogic<*>.receiveAll(session: Pair<FlowSession, Class<out Any>>, vararg sessions: Pair<FlowSession, Class<out Any>>): Map<FlowSession, UntrustworthyData<Any>>
fun <R : Any> FlowLogic<*>.receiveAll(receiveType: Class<R>, session: FlowSession, vararg sessions: FlowSession): List<UntrustworthyData<R>>
fun <R : Any> FlowLogic<*>.receiveAll(session: FlowSession, vararg sessions: FlowSession): List<UntrustworthyData<R>>