Class CBORWriter
The CBOR writer that is able to write CBOR-encoded data to a stream.
Namespace: PushTechnology.ClientInterface.IO.CBOR
Assembly: Diffusion.Client.dll
Syntax
public sealed class CBORWriter : object
Remarks
The output is not validated which allows for illegal CBOR to be created by this writer.
Constructors
CBORWriter(Stream)
Creates a new CBORWriter that is able to write CBOR-encoded data to a given output stream.
Declaration
public CBORWriter(Stream outputStream)
Parameters
Type | Name | Description |
---|---|---|
Stream | outputStream | The output stream to write CBOR-encoded data to. |
Remarks
The reader does not take ownership of the given outputStream
.
The stream needs to be disposed of if it is no longer needed.
Properties
BaseStream
Returns the underlying stream.
Declaration
public Stream BaseStream { get; }
Property Value
Type | Description |
---|---|
Stream |
Methods
Flush()
Causes any buffered data to be written to the stream.
Declaration
public void Flush()
GetEncodedByteSize(Int32)
Returns the size of a byte sequence if encoded in CBOR.
Declaration
public static int GetEncodedByteSize(int byteLength)
Parameters
Type | Name | Description |
---|---|---|
Int32 | byteLength | The length of the byte sequence to be encoded in CBOR. |
Returns
Type | Description |
---|---|
Int32 | The size in bytes of the CBOR-encoded byte sequence. |
GetEncodedIntegerSize(Int64)
Returns the size of a integer if encoded in CBOR.
Declaration
public static int GetEncodedIntegerSize(long integerValue)
Parameters
Type | Name | Description |
---|---|---|
Int64 | integerValue | The integer value to be encoded in CBOR. |
Returns
Type | Description |
---|---|
Int32 | The size in bytes of the CBOR-encoded integer value. |
GetEncodedStringSize(String)
Returns the size of a UTF-8 encoded string if encoded in CBOR.
Declaration
public static int GetEncodedStringSize(string stringValue)
Parameters
Type | Name | Description |
---|---|---|
String | stringValue | The string value to be encoded in CBOR. |
Returns
Type | Description |
---|---|
Int32 | The size in bytes of the CBOR-encoded UTF-8 string. |
Write(Boolean)
Writes a CBOR boolean to the stream.
Declaration
public void Write(bool value)
Parameters
Type | Name | Description |
---|---|---|
Boolean | value | The boolean value to write to the stream. |
Write(Byte[], Int32, Int32)
Writes a sequence of bytes to the stream.
Declaration
public void Write(byte[] value, int offset, int length)
Parameters
Type | Name | Description |
---|---|---|
Byte[] | value | The byte sequence to write to the stream. |
Int32 | offset | The starting index of the sequence. |
Int32 | length | The length of the sequence. |
Write(Double)
Writes a 64-bit CBOR floating point to the stream.
Declaration
public void Write(double value)
Parameters
Type | Name | Description |
---|---|---|
Double | value | The 64-bit floating point value to write to the stream. |
Write(Int64)
Writes a CBOR integer to the stream.
Declaration
public void Write(long value)
Parameters
Type | Name | Description |
---|---|---|
Int64 | value | The integer value to write to the stream. |
Remarks
The integer gets encoded in the smallest possible data type. See GetEncodedIntegerSize(Int64) to receive the size of the encoded value.
Write(Single)
Writes a 32-bit CBOR floating point to the stream.
Declaration
public void Write(float value)
Parameters
Type | Name | Description |
---|---|---|
Single | value | The 32-bit floating point value to write to the stream. |
Write(String)
Writes a CBOR string value to the stream.
Declaration
public void Write(string value)
Parameters
Type | Name | Description |
---|---|---|
String | value | The string value to write to the stream. |
Remarks
The string will be encoded in UTF-8 and can be a string value or a field name for key/value pairs.
WriteArray()
Writes a indefinite length CBOR array to the stream.
Declaration
public void WriteArray()
Remarks
The array has to be closed by a CBOR Break in order to be valid.
WriteArray(Int32)
Writes a CBOR array with a specific number of items to the stream.
Declaration
public void WriteArray(int length)
Parameters
Type | Name | Description |
---|---|---|
Int32 | length | The number of items within the array. |
Remarks
This method has to be followed with the exact amount of items specified by the given length in order for the resulting CBOR to be valid.
WriteBreak()
Writes a CBOR Break to the stream that indicates the end of a sequence or structure.
Declaration
public void WriteBreak()
WriteIndefiniteBytes()
Writes a indefinite length byte sequence to the stream.
Declaration
public void WriteIndefiniteBytes()
Remarks
The byte sequence has to be followed by a CBOR Break in order to be valid.
WriteIndefiniteString()
Writes a indefinite length CBOR string value to the stream.
Declaration
public void WriteIndefiniteString()
Remarks
The string sequence has to be followed by a CBOR Break in order to be valid.
WriteNull()
Writes a CBOR 'null' value to the stream.
Declaration
public void WriteNull()
WriteObject()
Writes a indefinite length CBOR object to the stream.
Declaration
public void WriteObject()
Remarks
The object has to be closed by a CBOR Break in order to be valid.
WriteObject(Int32)
Writes a CBOR object with a specific number of key/value pairs to the stream.
Declaration
public void WriteObject(int length)
Parameters
Type | Name | Description |
---|---|---|
Int32 | length | The number of key/value pairs within the object. |
Remarks
This method has to be followed with the exact amount of key/value pairs specified by the given length in order for the resulting CBOR to be valid.