Table of Contents

Class JsonRpcJsonChannel

Namespace
Nerdbank.JsonRpc
Assembly
Nerdbank.JsonRpc.dll

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

public sealed class JsonRpcJsonChannel : JsonRpcPipeChannel, IAsyncDisposable
Inheritance
JsonRpcJsonChannel
Implements
Inherited Members

Constructors

JsonRpcJsonChannel(IDuplexPipe, JsonSerializer, JsonRpcJsonFraming)

Initializes a new instance of the JsonRpcJsonChannel class.

public JsonRpcJsonChannel(IDuplexPipe pipe, JsonSerializer serializer, JsonRpcJsonFraming framing)

Parameters

pipe IDuplexPipe

The connected pipe.

serializer JsonSerializer

The configured serializer used for JSON application values by default.

framing JsonRpcJsonFraming

The wire framing convention.

JsonRpcJsonChannel(IDuplexPipe, JsonSerializerPlugin, JsonRpcJsonFraming, int?, int?)

Initializes a new instance of the JsonRpcJsonChannel class.

public JsonRpcJsonChannel(IDuplexPipe pipe, JsonSerializerPlugin serializer, JsonRpcJsonFraming framing, int? inboundCapacity = 100, int? outboundCapacity = null)

Parameters

pipe IDuplexPipe

The connected pipe.

serializer JsonSerializerPlugin

The plugin used for JSON application values by default.

framing JsonRpcJsonFraming

The wire framing convention.

inboundCapacity int?

The inbound queue limit.

outboundCapacity int?

The outbound queue limit.

Properties

Encoding

Gets the encoding used by this transport.

public override JsonRpcEncoding Encoding { get; }

Property Value

JsonRpcEncoding

Serializer

Gets the serializer selected by this channel for application values.

public override JsonRpcSerializer Serializer { get; }

Property Value

JsonRpcSerializer

Methods

ReceiveMessagesAsync(PipeReader, CancellationToken)

protected override IAsyncEnumerable<JsonRpcMessage> ReceiveMessagesAsync(PipeReader reader, CancellationToken cancellationToken)

Parameters

reader PipeReader
cancellationToken CancellationToken

Returns

IAsyncEnumerable<JsonRpcMessage>

SendMessageAsync(PipeWriter, JsonRpcMessage, CancellationToken)

protected override ValueTask SendMessageAsync(PipeWriter writer, JsonRpcMessage message, CancellationToken cancellationToken)

Parameters

writer PipeWriter
message JsonRpcMessage
cancellationToken CancellationToken

Returns

ValueTask