com.r3corda.demos.protocols / UpdateBusinessDayProtocol / Updater

Updater

class Updater : ProtocolLogic<Boolean>


Types

FETCHING object FETCHING : Step
FIXING object FIXING : Step
ITERATING_DEALS object ITERATING_DEALS : Step
ITERATING_FIXINGS object ITERATING_FIXINGS : Step

Constructors

<init> Updater(date: LocalDate, sessionID: Long, progressTracker: ProgressTracker = Updater.tracker())

Properties

date val date: LocalDate
progressTracker val progressTracker: ProgressTracker

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track progress.

sessionID val sessionID: Long

Inherited Properties

logger val logger: <ERROR CLASS>

This is where you should log things to.

psm lateinit var psm: ProtocolStateMachine<*>

Reference to the Fiber instance that is the top level controller for the entire flow.

serviceHub val serviceHub: ServiceHub

Provides access to big, heavy classes that may be reconstructed from time to time, e.g. across restarts

Functions

call fun call(): Boolean

This is where you fill out your business logic.

otherParty fun otherParty(deal: DealState): NodeInfo
processDeal fun processDeal(party: NodeInfo, deal: StateAndRef<DealState>, date: LocalDate, sessionID: Long): Unit
processInterestRateSwap fun processInterestRateSwap(party: NodeInfo, deal: StateAndRef<State>, date: LocalDate, sessionID: Long): Unit

Inherited Functions

receive fun <T : Any> receive(topic: String, sessionIDForReceive: Long): UntrustworthyData<T>
fun <T : Any> receive(topic: String, sessionIDForReceive: Long, clazz: Class<T>): UntrustworthyData<T>
send fun send(topic: String, destination: MessageRecipients, sessionID: Long, obj: Any): Unit
sendAndReceive fun <T : Any> sendAndReceive(topic: String, destination: MessageRecipients, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any): UntrustworthyData<T>
subProtocol fun <R> subProtocol(subLogic: ProtocolLogic<R>): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the ProtocolStateMachine and then calling the call method.

Companion Object Functions

tracker fun tracker(): ProgressTracker