Class StreamConnection
DotBoxD connection over a duplex stream, including named pipe streams.
public sealed class StreamConnection : IRpcFrameChannel, IRpcValueTaskChannel, IRpcChannel, IAsyncDisposable
- Inheritance
-
StreamConnection
- Implements
- Inherited Members
Constructors
StreamConnection(Stream, string?, bool, int, TimeSpan?)
Creates a framed connection over stream.
public StreamConnection(Stream stream, string? remoteEndpoint = null, bool ownsStream = true, int maxMessageSize = 16777216, TimeSpan? frameReadIdleTimeout = null)
Parameters
streamStreamremoteEndpointstringownsStreamboolmaxMessageSizeintframeReadIdleTimeoutTimeSpan?
Properties
IsConnected
Gets whether the channel is currently connected.
public bool IsConnected { get; }
Property Value
RemoteEndpoint
Gets a string representation of the remote endpoint.
public string RemoteEndpoint { get; }
Property Value
Methods
CloseAsync(CancellationToken)
Closes the connection. This operation is idempotent.
public Task CloseAsync(CancellationToken ct = default)
Parameters
Returns
DisposeAsync()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources asynchronously.
public ValueTask DisposeAsync()
Returns
- ValueTask
A task that represents the asynchronous dispose operation.
ReceiveAsync(CancellationToken)
Receives a framed message. The caller owns the returned Payload and must dispose it. A payload with Length of 0 signals the channel was closed.
public Task<Payload> ReceiveAsync(CancellationToken ct = default)
Parameters
Returns
ReceiveFrameValueAsync(CancellationToken)
public ValueTask<RpcFrame> ReceiveFrameValueAsync(CancellationToken ct = default)
Parameters
Returns
ReceiveValueAsync(CancellationToken)
public ValueTask<Payload> ReceiveValueAsync(CancellationToken ct = default)
Parameters
Returns
SendAsync(ReadOnlyMemory<byte>, CancellationToken)
Sends a framed message over the channel.
public Task SendAsync(ReadOnlyMemory<byte> data, CancellationToken ct = default)
Parameters
dataReadOnlyMemory<byte>ctCancellationToken
Returns
SendFrameValueAsync(PooledBufferWriter, CancellationToken)
public ValueTask SendFrameValueAsync(PooledBufferWriter frame, CancellationToken ct = default)
Parameters
framePooledBufferWriterctCancellationToken
Returns
SendValueAsync(ReadOnlyMemory<byte>, CancellationToken)
public ValueTask SendValueAsync(ReadOnlyMemory<byte> data, CancellationToken ct = default)
Parameters
dataReadOnlyMemory<byte>ctCancellationToken