Table of Contents

Namespace The.RPC

Classes

AddressedClientBuilder

Builds AddressedClientFactory instances for RPC clients with configurable address and HTTP client factory.

AddressedClientFactory

Creates HttpClient instances for a specific RPC address and category.

AnonymousImplementation<TRequest, TResponse>

Base class for anonymous RPC procedure implementations.

AnonymousProcedure<TRequest, TResponse>

Names an anonymous RPC procedure.

AttachedStream

Represents a stream that can be attached to a message for RPC transport.

ConnectionException

Thrown when failing to connect to an IEndpoint. Most likely caused by a network or configuration issue rather than by application code or user activity.

DelegateImplementation<TRequest, TResponse>

Wraps a delegate as an authenticated RPC procedure implementation.

EncryptedSession

Manages an encrypted session for secure RPC communication, handling encryption and decryption of packets and streams.

HandshakeResult

Extended ConnectResult which may include a session handshake.

Implementation

Base class for RPC procedure implementations.

Implementation<TRequest, TResponse>

Base class for authenticated RPC procedure implementations.

KnownLengthStream

Streams which CanSeek have Length, but sometimes we don't need to seek - just to know data sizes for chunking or buffer allocation.

LocalEndpoint

Implementation of IEndpoint which deserialises the text and connects to a local framework instance.

Message

Serialized RPC message with a header packet and optional trailer stream.

MessageNotEncryptedException

Thrown when a client or endpoint unexpectedly receives an unencrypted message.

Procedure

Defines the base class for RPC procedures.

ProcedureNotRegisteredException

Thrown when an endpoint receives a message it doesn't understand.

Procedure<TRequest, TResponse>

Names a authenticated RPC procedure.

RPCClient

Provides a client for making remote procedure calls (RPC) to an endpoint.

RPCException

Thrown when unable to execute a procedure. Subtypes include ConnectionException and MessageNotEncryptedException.

RPCOptions
RPCService

Functions to execute registered procedures, either locally or through a remote endpoint.

Serialiser
SessionCache
SessionKey
WebEndpoint

Implementation of IEndpoint which passes the serialised operations over HTTP

WebMessage

Packet format for messages from EndpointController to WebEndpoint

WellKnownProcedures

Structs

Response<T>
Unit

Interfaces

IEndpoint

Dynamically typed RPC mechanism, used to transport serialised requests and security tokens.

Enums

AuthenticationProtocol
HandshakeType
ResponseType