Namespace StreamJsonRpc
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.
- ExceptionSettings
Contains security-related settings that influence how errors are serialized and deserialized.
- ExportRpcContractProxiesAttribute
Emit source generated proxies for RPC interfaces with public visibility when the interface annotated with JsonRpcContractAttribute is itself public.
- FormatterBase
A base class for IJsonRpcMessageFormatter implementations that support exotic types.
- FormatterBase.JsonRpcErrorBase
A base class for formatter-specific JsonRpcError implementations.
- FormatterBase.JsonRpcRequestBase
A base class for formatter-specific JsonRpcRequest implementations.
- FormatterBase.JsonRpcResultBase
A base class for formatter-specific JsonRpcResult implementations.
- FormatterBase.TopLevelPropertyBagBase
A base class for top-level property bags that should be declared in the derived formatter class.
- HeaderDelimitedMessageHandler
Adds headers before each text message transmitted over a stream.
- JsonMessageFormatter
Uses Newtonsoft.Json serialization to serialize JsonRpcMessage as JSON (text).
- JsonRpc.JoinableTaskTokenTracker
An object that correlates JoinableTask tokens within and between JsonRpc instances within a process that does not use JoinableTaskFactory, for purposes of mitigating deadlocks in processes that do use JoinableTaskFactory.
- JsonRpcContractAttribute
Identifies an interface that describes an RPC contract.
- 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.
- JsonRpcIgnoreAttribute
Attribute which identifies methods that should not be invokable over RPC.
- 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.
- JsonRpcProxyInterfaceGroupAttribute
Specifies the set of additional interfaces that a source generated proxy should implement.
- JsonRpcProxyOptions
Options that may customize how a 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).
- NamedArgs
Serves as a wrapper for a named arguments object, allowing access to its properties and fields by name.
- NerdbankMessagePackFormatter
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.
- RpcArgumentDeserializationException
An exception thrown from TryGetArgumentByNameOrIndex(string?, int, Type?, out object?) when the argument cannot be deserialized to the requested type, typically due to an incompatibility or exception thrown from the deserializer.
- RpcMarshalableAttribute
Designates an interface that is used in an RPC contract to marshal the object so the receiver can invoke remote methods on it instead of serializing the object to send its data to the remote end.
- RpcMarshalableOptionalInterfaceAttribute
Attribute to be used on an interface marked with RpcMarshalableAttribute to indicate that the marshalable object may also implement the interface OptionalInterface.
- RpcTargetMetadata
Describes an RPC target type, which can be an interface or a class.
- RpcTargetMetadata.ClassAndInterfaces
Represents a collection of interfaces implemented by a specified class type for use as an RPC target.
- RpcTargetMetadata.EventMetadata
Provides metadata describing an RPC event.
- RpcTargetMetadata.InterfaceCollection
Represents a collection of interface types associated with a primary interface for an RPC target. Provides enumeration and management of the primary interface and its base interfaces.
- RpcTargetMetadata.TargetMethodMetadata
Represents metadata about an RPC target method.
- StreamMessageHandler
An abstract base class for for sending and receiving messages over a reading and writing pair of Stream objects.
- SystemTextJsonFormatter
A formatter that emits UTF-8 encoded JSON where user data should be serializable via the JsonSerializer.
- 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
- FormatterBase.DeserializationTracking
Tracks deserialization of a message.
- FormatterBase.SerializationTracking
Tracks serialization of a message.
- LoadableTypeCollection
A collection of instantiable types.
- RequestId
Represents the ID of a request, whether it is a number or a string.
Interfaces
- FormatterBase.IMessageWithTopLevelPropertyBag
An interface implemented by all the JsonRpcMessage-derived nested types (FormatterBase.JsonRpcRequestBase, FormatterBase.JsonRpcResultBase, FormatterBase.JsonRpcErrorBase) to allow them to carry arbitrary top-level properties on behalf of the application.
- 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 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.
- JsonRpcProxyOptions.ProxyImplementation
Describes the source generated proxy that is acceptable to the client.
- NewLineDelimitedMessageHandler.NewLineStyle
Describes the supported styles of new lines that can be written.
Delegates
- RpcTargetMetadata.CreateEventHandlerDelegate
Represents a method that creates a delegate to handle a specified JSON-RPC event.