Package-level declarations

Types

Link copied to clipboard

A special base class for the set of all possible recipients, without having to identify who they all are.

Link copied to clipboard
data class ClientRpcSslOptions(val trustStorePath: Path, val trustStorePassword: String, val trustStoreProvider: String = "JKS")

As an RPC Client, use this class to point to the truststore that contains the RPC SSL certificate provided by the node admin

Link copied to clipboard
interface CordaRPCOps : RPCOps

RPC operations that the node exposes to clients.

Link copied to clipboard
data class DataFeed<out A, B>(val snapshot: A, val updates: <Error class: unknown class><B>)

The Data feed contains a snapshot of the requested data and an Observable of future updates.

Link copied to clipboard

FlowHandle is a serialisable handle for the started flow, parameterised by the type of the flow's return value.

Link copied to clipboard
data class FlowHandleImpl<A>(val id: StateMachineRunId, val returnValue: CordaFuture<A>) : FlowHandle<A>
Link copied to clipboard
Link copied to clipboard
data class FlowHandleWithClientIdImpl<A>(val id: StateMachineRunId, val returnValue: CordaFuture<A>, val clientId: String) : FlowHandleWithClientId<A>
Link copied to clipboard

An alias for StateMachineInfo which uses more modern terminology.

Link copied to clipboard

FlowProgressHandle is a serialisable handle for the started flow, parameterised by the type of the flow's return value.

Link copied to clipboard
data class FlowProgressHandleImpl<A> constructor(val id: StateMachineRunId, val returnValue: CordaFuture<A>, val progress: <Error class: unknown class><String>, val stepsTreeIndexFeed: DataFeed<Int, Int>? = null, val stepsTreeFeed: DataFeed<List<<Error class: unknown class><Int, String>>, List<<Error class: unknown class><Int, String>>>? = null) : FlowProgressHandle<A>
Link copied to clipboard

A base class for a set of recipients specifically identified by the sender.

Link copied to clipboard

The interface for a group of message recipients (which may contain only one recipient)

Link copied to clipboard
data class ParametersUpdateInfo(val hash: SecureHash, val parameters: NetworkParameters, val description: String, val updateDeadline: Instant)

Data class containing information about the scheduled network parameters update. The info is emitted every time node receives network map with ParametersUpdate which wasn't seen before. For more information see: CordaRPCOps.networkParametersFeed and CordaRPCOps.acceptNewNetworkParameters.

Link copied to clipboard

Base interface that all RPC servers must implement. Note: in Corda there's only one RPC interface. This base interface is here in case we split the RPC system out into a separate library one day.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.FUNCTION])
annotation class RPCReturnsObservables

If an RPC is tagged with this annotation it may return one or more observables anywhere in its response graph. Calling such a method comes with consequences: it's slower, and consumes server side resources as observations will buffer up on the server until they're consumed by the client.

Link copied to clipboard

A base class for the case of point-to-point messages

Link copied to clipboard
data class StateMachineInfo constructor(val id: StateMachineRunId, val flowLogicClassName: String, val initiator: FlowInitiator, val progressTrackerStepAndUpdates: DataFeed<String, String>?, val invocationContext: InvocationContext = initiator.invocationContext)

Represents information about a flow (the name "state machine" is legacy, Kotlin users can use the FlowInfo type alias). You can access progress tracking, information about why the flow was started and so on.

Link copied to clipboard
data class StateMachineTransactionMapping(val stateMachineRunId: StateMachineRunId, val transactionId: SecureHash)
Link copied to clipboard
sealed class StateMachineUpdate

Functions

Link copied to clipboard
fun CordaRPCOps.pendingFlowsCount(): DataFeed<Int, <Error class: unknown class><Int, Int>>

Returns a DataFeed of the number of pending flows. The Observable for the updates will complete the moment all pending flows will have terminated.

Link copied to clipboard
inline fun <T, R : FlowLogic<T>> CordaRPCOps.startFlow(flowConstructor: () -> R): FlowHandle<T>
inline fun <T, A, R : FlowLogic<T>> CordaRPCOps.startFlow(flowConstructor: (A) -> R, arg0: A): FlowHandle<T>
inline fun <T, A, B, C, R : FlowLogic<T>> CordaRPCOps.startFlow(flowConstructor: (A, B, C) -> R, arg0: A, arg1: B, arg2: C): FlowHandle<T>
inline fun <T, A, B, C, D, R : FlowLogic<T>> CordaRPCOps.startFlow(flowConstructor: (A, B, C, D) -> R, arg0: A, arg1: B, arg2: C, arg3: D): FlowHandle<T>
inline fun <T, A, B, C, D, E, R : FlowLogic<T>> CordaRPCOps.startFlow(flowConstructor: (A, B, C, D, E) -> R, arg0: A, arg1: B, arg2: C, arg3: D, arg4: E): FlowHandle<T>
inline fun <T, A, B, C, D, E, F, R : FlowLogic<T>> CordaRPCOps.startFlow(flowConstructor: (A, B, C, D, E, F) -> R, arg0: A, arg1: B, arg2: C, arg3: D, arg4: E, arg5: F): FlowHandle<T>

inline fun <T, A, B, R : FlowLogic<T>> CordaRPCOps.startFlow(flowConstructor: (A, B) -> R, arg0: A, arg1: B): FlowHandle<T>

Extension function for type safe invocation of flows from Kotlin, for example:

Link copied to clipboard
inline fun <T, R : FlowLogic<T>> CordaRPCOps.startFlowWithClientId(clientId: String, flowConstructor: () -> R): FlowHandleWithClientId<T>

Extension function for type safe invocation of flows from Kotlin, with clientId.

inline fun <T, A, R : FlowLogic<T>> CordaRPCOps.startFlowWithClientId(clientId: String, flowConstructor: (A) -> R, arg0: A): FlowHandleWithClientId<T>
inline fun <T, A, B, R : FlowLogic<T>> CordaRPCOps.startFlowWithClientId(clientId: String, flowConstructor: (A, B) -> R, arg0: A, arg1: B): FlowHandleWithClientId<T>
inline fun <T, A, B, C, R : FlowLogic<T>> CordaRPCOps.startFlowWithClientId(clientId: String, flowConstructor: (A, B, C) -> R, arg0: A, arg1: B, arg2: C): FlowHandleWithClientId<T>
inline fun <T, A, B, C, D, R : FlowLogic<T>> CordaRPCOps.startFlowWithClientId(clientId: String, flowConstructor: (A, B, C, D) -> R, arg0: A, arg1: B, arg2: C, arg3: D): FlowHandleWithClientId<T>
inline fun <T, A, B, C, D, E, R : FlowLogic<T>> CordaRPCOps.startFlowWithClientId(clientId: String, flowConstructor: (A, B, C, D, E) -> R, arg0: A, arg1: B, arg2: C, arg3: D, arg4: E): FlowHandleWithClientId<T>
inline fun <T, A, B, C, D, E, F, R : FlowLogic<T>> CordaRPCOps.startFlowWithClientId(clientId: String, flowConstructor: (A, B, C, D, E, F) -> R, arg0: A, arg1: B, arg2: C, arg3: D, arg4: E, arg5: F): FlowHandleWithClientId<T>
Link copied to clipboard
inline fun <T, R : FlowLogic<T>> CordaRPCOps.startTrackedFlow(flowConstructor: () -> R): FlowProgressHandle<T>

Extension function for type safe invocation of flows from Kotlin, with progress tracking enabled.

inline fun <T, A, R : FlowLogic<T>> CordaRPCOps.startTrackedFlow(flowConstructor: (A) -> R, arg0: A): FlowProgressHandle<T>
inline fun <T, A, B, R : FlowLogic<T>> CordaRPCOps.startTrackedFlow(flowConstructor: (A, B) -> R, arg0: A, arg1: B): FlowProgressHandle<T>
inline fun <T, A, B, C, R : FlowLogic<T>> CordaRPCOps.startTrackedFlow(flowConstructor: (A, B, C) -> R, arg0: A, arg1: B, arg2: C): FlowProgressHandle<T>
inline fun <T, A, B, C, D, R : FlowLogic<T>> CordaRPCOps.startTrackedFlow(flowConstructor: (A, B, C, D) -> R, arg0: A, arg1: B, arg2: C, arg3: D): FlowProgressHandle<T>
inline fun <T, A, B, C, D, E, R : FlowLogic<T>> CordaRPCOps.startTrackedFlow(flowConstructor: (A, B, C, D, E) -> R, arg0: A, arg1: B, arg2: C, arg3: D, arg4: E): FlowProgressHandle<T>
inline fun <T, A, B, C, D, E, F, R : FlowLogic<T>> CordaRPCOps.startTrackedFlow(flowConstructor: (A, B, C, D, E, F) -> R, arg0: A, arg1: B, arg2: C, arg3: D, arg4: E, arg5: F): FlowProgressHandle<T>
Link copied to clipboard
inline fun <T : ContractState> CordaRPCOps.vaultQueryBy(criteria: QueryCriteria = QueryCriteria.VaultQueryCriteria(), paging: PageSpecification = PageSpecification(), sorting: Sort = Sort(emptySet())): Vault.Page<T>
Link copied to clipboard
inline fun <T : ContractState> CordaRPCOps.vaultTrackBy(criteria: QueryCriteria = QueryCriteria.VaultQueryCriteria(), paging: PageSpecification = PageSpecification(), sorting: Sort = Sort(emptySet())): DataFeed<Vault.Page<T>, Vault.Update<T>>