StreamJsonRpc Namespace

Classes

ActivityTracingStrategy

Synchronizes activities as set by the Activity class over RPC.

BadRpcHeaderException

An exception thrown when a deserialized message has a bad header.

CommonMethodNameTransforms

Common RPC method transform functions that may be supplied to AddLocalRpcTarget(Object, JsonRpcTargetOptions) by way of MethodNameTransform.

ConnectionLostException

An exception used to fault a Task returned from a JsonRpc request when the request could not be completed or the response cannot be received because the connection dropped.

CorrelationManagerTracingStrategy

Synchronizes activities as set by the CorrelationManager class over RPC.

DelimitedMessageHandler

An abstract base class for for sending and receiving distinct string messages over a channel that provides no natural boundaries and no built-in character encoding.

HeaderDelimitedMessageHandler

Adds headers before each text message transmitted over a stream.

JsonMessageFormatter

Uses Newtonsoft.Json serialization to serialize JsonRpcMessage as JSON (text).

JsonRpc

Manages a JSON-RPC connection with another entity over a Stream.

JsonRpcDisconnectedEventArgs

Describes the reason behind a disconnection with the remote party.

JsonRpcEnumerableSettings

Provides customizations on performance characteristics of an IAsyncEnumerable<T> that is passed over JSON-RPC.

JsonRpcExtensions

Extension methods for use with JsonRpc.

JsonRpcMethodAttribute

Attribute which changes the name by which this method can be invoked over JSON-RPC. If applied on a method, the method's CLR name can no longer be used for remote invocation.

JsonRpcProxyOptions

Options that may customize how a dynamically generated client proxy object calls into a JsonRpc instance.

JsonRpcTargetOptions

Options that may customize how a target object is added to a JsonRpc instance.

LengthHeaderMessageHandler

A minimal header for each message that simply declares content length.

LocalRpcException

An exception that may be thrown within a locally invoked server method, and carries with it data that influences the JSON-RPC error message's error object.

MessageHandlerBase

An abstract base class for for sending and receiving messages.

MessagePackFormatter

Serializes JSON-RPC messages using MessagePack (a fast, compact binary format).

NewLineDelimitedMessageHandler

A JSON-RPC message handler that delimits messages with new lines.

PipeMessageHandler

An abstract base class for for sending and receiving messages using PipeReader and PipeWriter.

RemoteInvocationException

Remote RPC exception that indicates that the server target method threw an exception.

RemoteMethodNotFoundException

Remote RPC exception that indicates that the requested target method was not found on the server.

RemoteRpcException

Base exception class for any exception that happens while receiving an JSON-RPC communication.

RemoteSerializationException

An exception thrown from back to the client from various JsonRpc request methods when the server failed to serialize the response.

RemoteTargetNotSetException

Remote RPC exception that indicates that the server has no target object.

RpcArgumentDeserializationException

An exception thrown from TryGetArgumentByNameOrIndex(String, Int32, Type, Object) when the argument cannot be deserialized to the requested type, typically due to an incompatibility or exception thrown from the deserializer.

StreamMessageHandler

An abstract base class for for sending and receiving messages over a reading and writing pair of Stream objects.

TargetMethod

Represents the dispatch target of an incoming request.

UnrecognizedJsonRpcMessageException

An exception thrown when an incoming JSON-RPC message could not be recognized as conforming to any known JSON-RPC message.

WebSocketMessageHandler

A message handler for the JsonRpc class that uses WebSocket as the transport.

Structs

RequestId

Represents the ID of a request, whether it is a number or a string.

Interfaces

IActivityTracingStrategy

Synchronizes contextual activities between an RPC client and server consistent with the W3C Trace Context specification.

ICancellationStrategy

Defines an extensibility point by which RPC methods may be canceled using CancellationToken.

IJsonRpcAsyncMessageFormatter

An interface that offers JsonRpcMessage serialization to an IBufferWriter<T> and asynchronous deserialization.

IJsonRpcAsyncMessageTextFormatter

An interface that offers JsonRpcMessage serialization to an IBufferWriter<T> and asynchronous deserialization and formats messages as JSON (text).

IJsonRpcClientProxy

Implemented by dynamically generated proxies returned from Attach<T>(IJsonRpcMessageHandler, JsonRpcProxyOptions) and its overloads to provide access to additional JSON-RPC functionality.

IJsonRpcInstanceContainer

Interface optionally implemented by IJsonRpcMessageFormatter implementations that need a reference to their owner JsonRpc class.

IJsonRpcMessageFactory

An interface that allows IJsonRpcMessageFormatter instances to act as a factory for JsonRpcMessage-derived types.

IJsonRpcMessageFormatter

An interface that offers JsonRpcMessage serialization to and from a sequence of bytes.

IJsonRpcMessageHandler

The contract for sending and receiving JSON-RPC messages.

IJsonRpcMessageTextFormatter

An IJsonRpcMessageFormatter that formats messages as JSON (text).

Enums

DisconnectedReason

Identifies a reason for a stream disconnection.

ExceptionProcessing

Enumerates the exception handling behaviors that are built into the JsonRpc class.

JsonRpc.TraceEvents

Event IDs raised to our TraceSource.

NewLineDelimitedMessageHandler.NewLineStyle

Describes the supported styles of new lines that can be written.