pub trait CborEncoder {
type MapEncoder: CborMapEncoder;
type ArrayEncoder: CborArrayEncoder;
// Required methods
fn encode_tag(&mut self, tag: u64) -> Result<(), CborSerializationError>;
fn encode_positive(
self,
positive: u64,
) -> Result<(), CborSerializationError>;
fn encode_negative(
self,
negative: u64,
) -> Result<(), CborSerializationError>;
fn encode_map(
self,
size: usize,
) -> Result<Self::MapEncoder, CborSerializationError>;
fn encode_array(
self,
size: usize,
) -> Result<Self::ArrayEncoder, CborSerializationError>;
fn encode_bytes(self, bytes: &[u8]) -> Result<(), CborSerializationError>;
fn encode_text(self, text: &str) -> Result<(), CborSerializationError>;
fn encode_simple(self, simple: u8) -> Result<(), CborSerializationError>;
fn encode_float(self, float: f64) -> Result<(), CborSerializationError>;
}Expand description
Encoder of CBOR. See https://www.rfc-editor.org/rfc/rfc8949.html#section-3
Required Associated Types§
Sourcetype MapEncoder: CborMapEncoder
type MapEncoder: CborMapEncoder
Associated map encoder
Sourcetype ArrayEncoder: CborArrayEncoder
type ArrayEncoder: CborArrayEncoder
Associated array encoder
Required Methods§
Sourcefn encode_tag(&mut self, tag: u64) -> Result<(), CborSerializationError>
fn encode_tag(&mut self, tag: u64) -> Result<(), CborSerializationError>
Encodes tag data item with given value
Sourcefn encode_positive(self, positive: u64) -> Result<(), CborSerializationError>
fn encode_positive(self, positive: u64) -> Result<(), CborSerializationError>
Encodes positive integer data item with given value
Sourcefn encode_negative(self, negative: u64) -> Result<(), CborSerializationError>
fn encode_negative(self, negative: u64) -> Result<(), CborSerializationError>
Encodes negative integer data item with given value. Notice that the
value of the data item is -(negative + 1)
Sourcefn encode_map(
self,
size: usize,
) -> Result<Self::MapEncoder, CborSerializationError>
fn encode_map( self, size: usize, ) -> Result<Self::MapEncoder, CborSerializationError>
Encodes map with given number of entries (key-value pairs). Returns a map encoder that must be used to encode the map.
Sourcefn encode_array(
self,
size: usize,
) -> Result<Self::ArrayEncoder, CborSerializationError>
fn encode_array( self, size: usize, ) -> Result<Self::ArrayEncoder, CborSerializationError>
Encodes array with given number of elements. Returns an array encoder that must be used to encode the array.
Sourcefn encode_bytes(self, bytes: &[u8]) -> Result<(), CborSerializationError>
fn encode_bytes(self, bytes: &[u8]) -> Result<(), CborSerializationError>
Encodes bytes data item
Sourcefn encode_text(self, text: &str) -> Result<(), CborSerializationError>
fn encode_text(self, text: &str) -> Result<(), CborSerializationError>
Encodes text data item
Sourcefn encode_simple(self, simple: u8) -> Result<(), CborSerializationError>
fn encode_simple(self, simple: u8) -> Result<(), CborSerializationError>
Encodes simple value, see https://www.rfc-editor.org/rfc/rfc8949.html#name-floating-point-numbers-and-
Sourcefn encode_float(self, float: f64) -> Result<(), CborSerializationError>
fn encode_float(self, float: f64) -> Result<(), CborSerializationError>
Encodes float value, see https://www.rfc-editor.org/rfc/rfc8949.html#name-floating-point-numbers-and-