pub trait Flavor {
    type Output;

    fn try_push(&mut self, data: u8) -> Result<(), ()>;
    fn finalize(self) -> Result<Self::Output, ()>;

    fn try_extend(&mut self, data: &[u8]) -> Result<(), ()> { ... }
}
Expand description

The serialization Flavor trait

This is used as the primary way to encode serialized data into some kind of buffer, or modify that data in a middleware style pattern.

See the module level docs for an example of how flavors are used.

Required Associated Types

The Output type is what this storage “resolves” to when the serialization is complete, such as a slice or a Vec of some sort.

Required Methods

The try_push() trait method can be used to push a single byte to be modified and/or stored

Finalize the serialization process

Provided Methods

The try_extend() trait method can be implemented when there is a more efficient way of processing multiple bytes at once, such as copying a slice to the output, rather than iterating over one byte at a time.

Implementors