Skip to content

Interface IBufferedMessageStream

Namespace: Void.Proxy.Api.Network.Streams.Manual.Binary
Assembly: Void.Proxy.Api.dll

Defines byte-oriented I/O with helpers that expose buffered data as binary messages.

public interface IBufferedMessageStream : IManualStream, IMessageStream, IMessageStreamBase, IDisposable, IAsyncDisposable

Implements

IManualStream, IMessageStream, IMessageStreamBase, IDisposable, IAsyncDisposable

Methods

ReadAsMessage(int)

Reads available data into a buffered message, subject to a maximum size.

IBufferedBinaryMessage ReadAsMessage(int maxSize = 2048)

Parameters

maxSize int

The maximum number of bytes to place in the returned message.

Returns

IBufferedBinaryMessage

A buffered message owned by the caller.

ReadAsMessageAsync(int, CancellationToken)

Asynchronously reads available data into a buffered message, subject to a maximum size.

ValueTask<IBufferedBinaryMessage> ReadAsMessageAsync(int maxSize = 2048, CancellationToken cancellationToken = default)

Parameters

maxSize int

The maximum number of bytes to place in the returned message.

cancellationToken CancellationToken

A token used to cancel the read.

Returns

ValueTask<IBufferedBinaryMessage>

A buffered message owned by the caller.

WriteAsMessage(IBufferedBinaryMessage)

Writes the buffered bytes contained in a message.

void WriteAsMessage(IBufferedBinaryMessage message)

Parameters

message IBufferedBinaryMessage

The message whose buffered bytes are written.

WriteAsMessageAsync(IBufferedBinaryMessage, CancellationToken)

Asynchronously writes the buffered bytes contained in a message.

ValueTask WriteAsMessageAsync(IBufferedBinaryMessage message, CancellationToken cancellationToken = default)

Parameters

message IBufferedBinaryMessage

The message whose buffered bytes are written.

cancellationToken CancellationToken

A token used to cancel the write.

Returns

ValueTask

A task that completes when the buffered bytes have been written.