Table of Contents

Namespace Nerdbank.JsonRpc

Classes

CommonMethodNameTransforms

Provides commonly used transforms for mapping CLR method names to JSON-RPC method names, for use with MethodNameTransform and MethodNameTransform.

GenerateJsonRpcProxyAttribute

Indicates that a client proxy should be generated for the annotated RPC contract interface.

JoinableTaskTokenTracker

Correlates JoinableTask tokens within and between JsonRpc instances in a process that does not use a JoinableTaskFactory, for purposes of mitigating deadlocks in processes that do.

JsonRpc
JsonRpcBatch

Builds and sends one JSON-RPC batch payload.

JsonRpcEnumerableExtensions

Extension methods that control how an IAsyncEnumerable<T> is transmitted over a JSON-RPC connection.

JsonRpcEnumerableSettings

Tunes how an IAsyncEnumerable<T> is transmitted across a JSON-RPC connection.

JsonRpcError
JsonRpcErrorCode
JsonRpcErrorDetails
JsonRpcException
JsonRpcExtensions
JsonRpcJsonChannel

Encodes JSON-RPC messages as UTF-8 JSON with explicit framing.

JsonRpcMessage
JsonRpcMessageBatch

Represents one JSON-RPC protocol payload containing multiple messages.

JsonRpcMessagePackChannel

Encodes JSON-RPC messages as MessagePack over a duplex pipe, framed as described by JsonRpcMessagePackFraming. Inbound frames are limited by MaximumMessageSize.

JsonRpcOptionalProxyImplementationAttribute

Identifies an optional-interface proxy generated by an older version of the JSON-RPC source generator.

JsonRpcOptions

Provides immutable configuration that can be shared across independent JsonRpc connections.

JsonRpcPipeChannel

Provides an abstract channel for transporting JSON-RPC messages over a duplex pipe, enabling asynchronous message exchange between endpoints.

JsonRpcProxyImplementationAttribute

Identifies a proxy generated by an older version of the JSON-RPC source generator.

JsonRpcProxyOptions

Provides options that control generated JSON-RPC client proxy attachment.

JsonRpcRequest
JsonRpcResponse
JsonRpcResult
JsonRpcSerializer

Encodes and decodes JSON-RPC application values using one selected serializer.

JsonRpcTargetOptions

Provides options that control how a local object's methods are registered as JSON-RPC targets.

JsonSerializerPlugin

Adapts a configured Nerdbank.Json serializer.

MessagePackSerializerPlugin

Adapts a configured MessagePack serializer.

RemoteExceptionData

Describes exception details reported by a remote JSON-RPC peer.

RemoteExceptionTypeMapping

Defines explicitly allowed exception types that may be reconstructed from peer diagnostics.

RemoteInvocationException

Represents an error response received from a remote JSON-RPC peer.

RpcMarshalableAttribute

Indicates that values typed as this interface are marshaled by reference and can be invoked remotely.

RpcMarshalableOptionalInterfaceAttribute

Declares an optional interface that a marshalable object may implement.

Structs

JsonRpcArgumentsBuilder

Writes positional or named request parameters directly to the selected serializer's output buffer.

JsonRpcValue

An owned, encoded application value. The default value represents absence, not JSON null.

RequestId

Interfaces

IJsonRpcClient

Provides the client operations used by generated JSON-RPC proxy implementations.

Enums

JsonRpcEncoding

Identifies the encoding of an already serialized JSON-RPC application value.

JsonRpcJsonFraming

Defines the framing of UTF-8 JSON-RPC messages.

JsonRpcMessagePackFraming

Defines the framing of MessagePack-encoded JSON-RPC messages.

JsonRpcState