Interface IAsyncBinaryWriter
Providers a uniform way to encode the data.
Namespace: DotNext.IO
Assembly: DotNext.IO.dll
Syntax
public interface IAsyncBinaryWriter
Methods
| Improve this Doc View SourceCopyFromAsync(PipeReader, CancellationToken)
Writes the content from the specified pipe.
Declaration
virtual Task CopyFromAsync(PipeReader input, CancellationToken token = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| PipeReader | input | The pipe to read from. |
| CancellationToken | token | The token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| Task | The task representing state of asynchronous execution. |
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |
CopyFromAsync(Stream, CancellationToken)
Writes the content from the specified stream.
Declaration
virtual Task CopyFromAsync(Stream input, CancellationToken token = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| Stream | input | The stream to read from. |
| CancellationToken | token | The token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| Task | The task representing state of asynchronous execution. |
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |
CopyFromAsync<TArg>(Func<TArg, CancellationToken, ValueTask<ReadOnlyMemory<Byte>>>, TArg, CancellationToken)
Writes the content from the delegate supplying memory blocks.
Declaration
virtual Task CopyFromAsync<TArg>(Func<TArg, CancellationToken, ValueTask<ReadOnlyMemory<byte>>> supplier, TArg arg, CancellationToken token = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| Func<TArg, CancellationToken, ValueTask<ReadOnlyMemory<Byte>>> | supplier | The delegate supplying memory blocks. |
| TArg | arg | The argument to be passed to the supplier. |
| CancellationToken | token | The token that can be used to cancel operation. |
Returns
| Type | Description |
|---|---|
| Task | The task representing state of asynchronous execution. |
Type Parameters
| Name | Description |
|---|---|
| TArg | The type of the argument to be passed to the supplier. |
Remarks
Copy process will be stopped when supplier returns empty ReadOnlyMemory<T>.
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |
Create(PipeWriter)
Creates default implementation of binary writer for the pipe.
Declaration
static IAsyncBinaryWriter Create(PipeWriter output)
Parameters
| Type | Name | Description |
|---|---|---|
| PipeWriter | output | The stream instance. |
Returns
| Type | Description |
|---|---|
| IAsyncBinaryWriter | The binary writer. |
Remarks
It is recommended to use extension methods from PipeExtensions class for encoding data to the pipe. This method is intended for situation when you need an object implementing IAsyncBinaryWriter interface.
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
Create(PipeWriter, Int32, Int32)
Creates default implementation of binary writer for the pipe.
Declaration
static IAsyncBinaryWriter Create(PipeWriter output, int stringLengthThreshold, int encodingBufferSize)
Parameters
| Type | Name | Description |
|---|---|---|
| PipeWriter | output | The stream instance. |
| Int32 | stringLengthThreshold | The threshold for the number of characters. If the number of characters is less than or equal to this threshold then writer encodes the whole sequence of characters in memory and then flushes the pipe; otherwise, the pipe flushes multiple times for each portion of the sequence. |
| Int32 | encodingBufferSize | The size of internal buffer used to encode characters. |
Returns
| Type | Description |
|---|---|
| IAsyncBinaryWriter | The binary writer. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
| ArgumentOutOfRangeException |
|
Create(Stream, Memory<Byte>)
Creates default implementation of binary writer for the stream.
Declaration
static IAsyncBinaryWriter Create(Stream output, Memory<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| Stream | output | The stream instance. |
| Memory<Byte> | buffer | The buffer used for encoding binary data. |
Returns
| Type | Description |
|---|---|
| IAsyncBinaryWriter | The stream writer. |
Remarks
It is recommended to use extension methods from StreamExtensions class for encoding data to the stream. This method is intended for situation when you need an object implementing IAsyncBinaryWriter interface.
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
| ArgumentException |
|
Create<TWriter>(TWriter)
Creates default implementation of binary writer for the buffer writer.
Declaration
static IAsyncBinaryWriter Create<TWriter>(TWriter writer)
where TWriter : class, IBufferWriter<byte>, IFlushable
Parameters
| Type | Name | Description |
|---|---|---|
| TWriter | writer | The buffer writer. |
Returns
| Type | Description |
|---|---|
| IAsyncBinaryWriter | The binary writer. |
Type Parameters
| Name | Description |
|---|---|
| TWriter | The type of the buffer writer. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
WriteAsync(ReadOnlySequence<Byte>, CancellationToken)
Writes the content from the specified sequence of bytes.
Declaration
virtual Task WriteAsync(ReadOnlySequence<byte> input, CancellationToken token = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| ReadOnlySequence<Byte> | input | The sequence of bytes to read from. |
| CancellationToken | token | The token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| Task | The task representing state of asynchronous execution. |
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)
Encodes a block of memory.
Declaration
ValueTask WriteAsync(ReadOnlyMemory<byte> input, CancellationToken token = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| ReadOnlyMemory<Byte> | input | A block of memory. |
| CancellationToken | token | The token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| ValueTask | The task representing state of asynchronous execution. |
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |
WriteAsync(ReadOnlyMemory<Char>, EncodingContext, Nullable<StringLengthEncoding>, CancellationToken)
Encodes a block of characters using the specified encoding.
Declaration
ValueTask WriteAsync(ReadOnlyMemory<char> chars, EncodingContext context, StringLengthEncoding? lengthFormat, CancellationToken token = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| ReadOnlyMemory<Char> | chars | The characters to encode. |
| EncodingContext | context | The context describing encoding of characters. |
| Nullable<StringLengthEncoding> | lengthFormat | String length encoding format; or null to prevent encoding of string length. |
| CancellationToken | token | The token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| ValueTask | The task representing state of asynchronous execution. |
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |
| ArgumentOutOfRangeException |
|
WriteAsync<T>(T, CancellationToken)
Encodes value of blittable type.
Declaration
virtual ValueTask WriteAsync<T>(T value, CancellationToken token = default(CancellationToken))
where T : struct
Parameters
| Type | Name | Description |
|---|---|---|
| T | value | The value to encode. |
| CancellationToken | token | The token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| ValueTask | The task representing state of asynchronous execution. |
Type Parameters
| Name | Description |
|---|---|
| T | The type of the value to encode. |
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |
WriteByteAsync(Byte, StringLengthEncoding, EncodingContext, String, IFormatProvider, CancellationToken)
Encodes 8-bit unsigned integer as a string.
Declaration
virtual ValueTask WriteByteAsync(byte value, StringLengthEncoding lengthFormat, EncodingContext context, string format = null, IFormatProvider provider = null, CancellationToken token = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| Byte | value | The value to encode. |
| StringLengthEncoding | lengthFormat | String length encoding format. |
| EncodingContext | context | The context describing encoding of characters. |
| String | format | A standard or custom numeric format string. |
| IFormatProvider | provider | An object that supplies culture-specific formatting information. |
| CancellationToken | token | The token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| ValueTask | The task representing state of asynchronous execution. |
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |
WriteDateTimeAsync(DateTime, StringLengthEncoding, EncodingContext, String, IFormatProvider, CancellationToken)
Encodes DateTime as a string.
Declaration
virtual ValueTask WriteDateTimeAsync(DateTime value, StringLengthEncoding lengthFormat, EncodingContext context, string format = null, IFormatProvider provider = null, CancellationToken token = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| DateTime | value | The value to encode. |
| StringLengthEncoding | lengthFormat | String length encoding format. |
| EncodingContext | context | The context describing encoding of characters. |
| String | format | A standard or custom date/time format string. |
| IFormatProvider | provider | An object that supplies culture-specific formatting information. |
| CancellationToken | token | The token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| ValueTask | The task representing state of asynchronous execution. |
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |
WriteDateTimeOffsetAsync(DateTimeOffset, StringLengthEncoding, EncodingContext, String, IFormatProvider, CancellationToken)
Encodes DateTimeOffset as a string.
Declaration
virtual ValueTask WriteDateTimeOffsetAsync(DateTimeOffset value, StringLengthEncoding lengthFormat, EncodingContext context, string format = null, IFormatProvider provider = null, CancellationToken token = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| DateTimeOffset | value | The value to encode. |
| StringLengthEncoding | lengthFormat | String length encoding format. |
| EncodingContext | context | The context describing encoding of characters. |
| String | format | A standard or custom date/time format string. |
| IFormatProvider | provider | An object that supplies culture-specific formatting information. |
| CancellationToken | token | The token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| ValueTask | The task representing state of asynchronous execution. |
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |
WriteDecimalAsync(Decimal, StringLengthEncoding, EncodingContext, String, IFormatProvider, CancellationToken)
Encodes Decimal as a string.
Declaration
virtual ValueTask WriteDecimalAsync(decimal value, StringLengthEncoding lengthFormat, EncodingContext context, string format = null, IFormatProvider provider = null, CancellationToken token = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| Decimal | value | The value to encode. |
| StringLengthEncoding | lengthFormat | String length encoding format. |
| EncodingContext | context | The context describing encoding of characters. |
| String | format | A standard or custom numeric format string. |
| IFormatProvider | provider | An object that supplies culture-specific formatting information. |
| CancellationToken | token | The token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| ValueTask | The task representing state of asynchronous execution. |
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |
WriteDoubleAsync(Double, StringLengthEncoding, EncodingContext, String, IFormatProvider, CancellationToken)
Encodes double-precision floating-point number as a string.
Declaration
virtual ValueTask WriteDoubleAsync(double value, StringLengthEncoding lengthFormat, EncodingContext context, string format = null, IFormatProvider provider = null, CancellationToken token = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| Double | value | The value to encode. |
| StringLengthEncoding | lengthFormat | String length encoding format. |
| EncodingContext | context | The context describing encoding of characters. |
| String | format | A standard or custom numeric format string. |
| IFormatProvider | provider | An object that supplies culture-specific formatting information. |
| CancellationToken | token | The token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| ValueTask | The task representing state of asynchronous execution. |
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |
WriteGuidAsync(Guid, StringLengthEncoding, EncodingContext, String, CancellationToken)
Encodes Guid as a string.
Declaration
virtual ValueTask WriteGuidAsync(Guid value, StringLengthEncoding lengthFormat, EncodingContext context, string format = null, CancellationToken token = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| Guid | value | The value to encode. |
| StringLengthEncoding | lengthFormat | String length encoding format. |
| EncodingContext | context | The context describing encoding of characters. |
| String | format | A standard or custom GUID format string. |
| CancellationToken | token | The token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| ValueTask | The task representing state of asynchronous execution. |
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |
WriteInt16Async(Int16, StringLengthEncoding, EncodingContext, String, IFormatProvider, CancellationToken)
Encodes 16-bit signed integer as a string.
Declaration
virtual ValueTask WriteInt16Async(short value, StringLengthEncoding lengthFormat, EncodingContext context, string format = null, IFormatProvider provider = null, CancellationToken token = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| Int16 | value | The value to encode. |
| StringLengthEncoding | lengthFormat | String length encoding format. |
| EncodingContext | context | The context describing encoding of characters. |
| String | format | A standard or custom numeric format string. |
| IFormatProvider | provider | An object that supplies culture-specific formatting information. |
| CancellationToken | token | The token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| ValueTask | The task representing state of asynchronous execution. |
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |
WriteInt16Async(Int16, Boolean, CancellationToken)
Encodes 16-bit signed integer asynchronously.
Declaration
virtual ValueTask WriteInt16Async(short value, bool littleEndian, CancellationToken token = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| Int16 | value | The value to encode. |
| Boolean | littleEndian | true to use little-endian encoding; false to use big-endian encoding. |
| CancellationToken | token | The token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| ValueTask | The task representing state of asynchronous execution. |
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |
WriteInt32Async(Int32, StringLengthEncoding, EncodingContext, String, IFormatProvider, CancellationToken)
Encodes 32-bit signed integer as a string.
Declaration
virtual ValueTask WriteInt32Async(int value, StringLengthEncoding lengthFormat, EncodingContext context, string format = null, IFormatProvider provider = null, CancellationToken token = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | value | The value to encode. |
| StringLengthEncoding | lengthFormat | String length encoding format. |
| EncodingContext | context | The context describing encoding of characters. |
| String | format | A standard or custom numeric format string. |
| IFormatProvider | provider | An object that supplies culture-specific formatting information. |
| CancellationToken | token | The token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| ValueTask | The task representing state of asynchronous execution. |
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |
WriteInt32Async(Int32, Boolean, CancellationToken)
Encodes 32-bit signed integer asynchronously.
Declaration
virtual ValueTask WriteInt32Async(int value, bool littleEndian, CancellationToken token = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | value | The value to encode. |
| Boolean | littleEndian | true to use little-endian encoding; false to use big-endian encoding. |
| CancellationToken | token | The token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| ValueTask | The task representing state of asynchronous execution. |
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |
WriteInt64Async(Int64, StringLengthEncoding, EncodingContext, String, IFormatProvider, CancellationToken)
Encodes 64-bit signed integer as a string.
Declaration
virtual ValueTask WriteInt64Async(long value, StringLengthEncoding lengthFormat, EncodingContext context, string format = null, IFormatProvider provider = null, CancellationToken token = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| Int64 | value | The value to encode. |
| StringLengthEncoding | lengthFormat | String length encoding format. |
| EncodingContext | context | The context describing encoding of characters. |
| String | format | A standard or custom numeric format string. |
| IFormatProvider | provider | An object that supplies culture-specific formatting information. |
| CancellationToken | token | The token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| ValueTask | The task representing state of asynchronous execution. |
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |
WriteInt64Async(Int64, Boolean, CancellationToken)
Encodes 64-bit signed integer asynchronously.
Declaration
virtual ValueTask WriteInt64Async(long value, bool littleEndian, CancellationToken token = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| Int64 | value | The value to encode. |
| Boolean | littleEndian | true to use little-endian encoding; false to use big-endian encoding. |
| CancellationToken | token | The token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| ValueTask | The task representing state of asynchronous execution. |
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |
WriteSingleAsync(Single, StringLengthEncoding, EncodingContext, String, IFormatProvider, CancellationToken)
Encodes single-precision floating-point number as a string.
Declaration
virtual ValueTask WriteSingleAsync(float value, StringLengthEncoding lengthFormat, EncodingContext context, string format = null, IFormatProvider provider = null, CancellationToken token = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| Single | value | The value to encode. |
| StringLengthEncoding | lengthFormat | String length encoding format. |
| EncodingContext | context | The context describing encoding of characters. |
| String | format | A standard or custom numeric format string. |
| IFormatProvider | provider | An object that supplies culture-specific formatting information. |
| CancellationToken | token | The token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| ValueTask | The task representing state of asynchronous execution. |
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |
WriteTimeSpanAsync(TimeSpan, StringLengthEncoding, EncodingContext, String, IFormatProvider, CancellationToken)
Encodes TimeSpan as a string.
Declaration
virtual ValueTask WriteTimeSpanAsync(TimeSpan value, StringLengthEncoding lengthFormat, EncodingContext context, string format = null, IFormatProvider provider = null, CancellationToken token = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| TimeSpan | value | The value to encode. |
| StringLengthEncoding | lengthFormat | String length encoding format. |
| EncodingContext | context | The context describing encoding of characters. |
| String | format | A standard or custom date/time format string. |
| IFormatProvider | provider | An object that supplies culture-specific formatting information. |
| CancellationToken | token | The token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| ValueTask | The task representing state of asynchronous execution. |
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |