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.

IpcClient

Connects to same-machine, same-account named pipes (Unix-domain sockets on Unix).

IpcServer

A same-account IPC listener with explicitly observed connection callbacks.

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.

JsonRpcContractAttribute

Identifies an interface that describes a JSON-RPC contract and enables contract validation.

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
JsonRpcErrorDetails
JsonRpcException

Represents a JSON-RPC error response.

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.

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.

JsonRpcProxy

Provides lifecycle and capability behavior shared by generated RPC and direct proxies.

JsonRpcProxyInterfaceGroupAttribute

Specifies the additional interfaces implemented by one source-generated proxy for the annotated contract.

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

IpcServerOptions

Specifies IPC listening behavior.

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

IClientProxy

Exposes a client proxy's connection and enabled contract 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.

JsonRpcErrorCode

Well-known JSON-RPC error codes.

JsonRpcJsonFraming

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

JsonRpcMessagePackFraming

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

JsonRpcState