Struct tor_cell::chancell::codec::ChannelCodec[][src]

pub struct ChannelCodec { /* fields omitted */ }
Expand description

This object can be used to encode and decode channel cells.

NOTE: only link protocol versions 3 and higher are supported. VERSIONS cells are not supported via the encoder/decoder, since it VERSIONS always uses a two-byte circuit-ID.

The implemented format is one of the following:

    u32 circid;
    u8 command;
    u16 len;
    u8 body[len];
    u32 circid;
    u8 command;
    u8 body[509];

Implementations

Create a new ChannelCodec with a given link protocol version

Write the given cell into the provided BytesMut object.

Try to decode a cell from the provided BytesMut object.

On a definite decoding error, return Err(_). On a cell that might just be truncated, return Ok(None).

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.