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.

Implementation

Base class for RPC procedure implementations.

Implementation<TRequest, TResponse>

Base class for authenticated RPC procedure implementations.

KeyedConnectResult

Extended ConnectResult which may include a session key.

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
ResponseType