| ArtemisMessagingComponent |
abstract class ArtemisMessagingComponent : SingletonSerializeAsTokenThe base class for Artemis services that defines shared data structures and transport configuration |
| ArtemisMessagingServer |
class ArtemisMessagingServer : ArtemisMessagingComponentThis class configures and manages an Apache Artemis message queue broker. |
| ClientRPCRequestMessage |
data class ClientRPCRequestMessageThe contents of an RPC request message, separated from the MQ layer. |
| CordaRPCOps |
interface CordaRPCOps : RPCOpsRPC operations that the node exposes to clients using the Java client library. These can be called from client apps and are implemented by the node in the ServerRPCOps class. |
| MarshalledObservation |
data class MarshalledObservationUsed in the RPC wire protocol to wrap an observation with the handle of the observable its intended for. |
| NodeMessagingClient |
class NodeMessagingClient : ArtemisMessagingComponent, MessagingServiceInternalThis class implements the MessagingService API using Apache Artemis, the successor to their ActiveMQ product. Artemis is a message queue broker and here we run a client connecting to the specified broker instance ArtemisMessagingServer. Its primarily concerned with peer-to-peer messaging. |
| RPCDispatcher |
abstract class RPCDispatcherIntended to service transient clients only (not p2p nodes) for short-lived, transient request/response pairs. If you need robustness, this is the wrong system. If you dont want a response, this is probably the wrong system (you could just send a message). If you want complex customisation of how requests/responses are handled, this is probably the wrong system. |
| RPCOps |
interface RPCOpsBase interface that all RPC servers must implement. Note: in Corda theres only one RPC interface. This base interface is here in case we split the RPC system out into a separate library one day. |
| StateMachineInfo |
data class StateMachineInfo |
| StateMachineUpdate |
sealed class StateMachineUpdate |
| TransactionBuildResult |
sealed class TransactionBuildResult |
| RPCReturnsObservables |
annotation class RPCReturnsObservablesIf 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: its slower, and consumes server side resources as observations will buffer up on the server until theyre consumed by the client. |
| RPCSinceVersion |
annotation class RPCSinceVersionRecords the protocol version in which this RPC was added. |
| PermissionException |
class PermissionException : RuntimeException |
| RPCException |
open class RPCException : RuntimeExceptionThrown to indicate a fatal error in the RPC system itself, as opposed to an error generated by the invoked method. |
| CURRENT_RPC_USER |
val CURRENT_RPC_USER: ThreadLocal<User>This is available to RPC implementations to query the validated User that is calling it. Each user has a set of permissions theyre entitled to which can be used to control access. |
| rpcLog |
val rpcLog: <ERROR CLASS>Global RPC logger |
| createRPCKryo |
fun createRPCKryo(observableSerializer: <ERROR CLASS><<ERROR CLASS><Any>>? = null): <ERROR CLASS> |
| requirePermission |
fun requirePermission(permission: String): UnitHelper method which checks that the current RPC user is entitled for the given permission. Throws a PermissionException otherwise. |