Trait Codec

Source
pub trait Codec: DynClone {
    // Required methods
    fn encode<'a>(&mut self, frame: Frame<'a>) -> Result<Frame<'a>>;
    fn decode<'a>(&mut self, frame: Frame<'a>) -> Result<Frame<'a>>;
}
Expand description

Represents abstraction that implements specific encoder and decoder logic to transform an arbitrary collection of bytes. This can be used to encrypt and authenticate bytes sent and received by transports.

Required Methods§

Source

fn encode<'a>(&mut self, frame: Frame<'a>) -> Result<Frame<'a>>

Encodes a frame’s item

Source

fn decode<'a>(&mut self, frame: Frame<'a>) -> Result<Frame<'a>>

Decodes a frame’s item

Trait Implementations§

Source§

impl Clone for Box<dyn Codec>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Clone for Box<dyn Codec + Send>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Clone for Box<dyn Codec + Send + Sync>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Clone for Box<dyn Codec + Sync>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Codec for Box<dyn Codec>

Source§

fn encode<'a>(&mut self, frame: Frame<'a>) -> Result<Frame<'a>>

Encodes a frame’s item
Source§

fn decode<'a>(&mut self, frame: Frame<'a>) -> Result<Frame<'a>>

Decodes a frame’s item
Source§

impl Codec for Box<dyn Codec + Send>

Source§

fn encode<'a>(&mut self, frame: Frame<'a>) -> Result<Frame<'a>>

Encodes a frame’s item
Source§

fn decode<'a>(&mut self, frame: Frame<'a>) -> Result<Frame<'a>>

Decodes a frame’s item
Source§

impl Codec for Box<dyn Codec + Send + Sync>

Source§

fn encode<'a>(&mut self, frame: Frame<'a>) -> Result<Frame<'a>>

Encodes a frame’s item
Source§

fn decode<'a>(&mut self, frame: Frame<'a>) -> Result<Frame<'a>>

Decodes a frame’s item
Source§

impl Codec for Box<dyn Codec + Sync>

Source§

fn encode<'a>(&mut self, frame: Frame<'a>) -> Result<Frame<'a>>

Encodes a frame’s item
Source§

fn decode<'a>(&mut self, frame: Frame<'a>) -> Result<Frame<'a>>

Decodes a frame’s item

Implementations on Foreign Types§

Source§

impl Codec for Box<dyn Codec + Send + Sync>

Source§

fn encode<'a>(&mut self, frame: Frame<'a>) -> Result<Frame<'a>>

Source§

fn decode<'a>(&mut self, frame: Frame<'a>) -> Result<Frame<'a>>

Source§

impl Codec for Box<dyn Codec + Send>

Source§

fn encode<'a>(&mut self, frame: Frame<'a>) -> Result<Frame<'a>>

Source§

fn decode<'a>(&mut self, frame: Frame<'a>) -> Result<Frame<'a>>

Source§

impl Codec for Box<dyn Codec + Sync>

Source§

fn encode<'a>(&mut self, frame: Frame<'a>) -> Result<Frame<'a>>

Source§

fn decode<'a>(&mut self, frame: Frame<'a>) -> Result<Frame<'a>>

Source§

impl Codec for Box<dyn Codec>

Source§

fn encode<'a>(&mut self, frame: Frame<'a>) -> Result<Frame<'a>>

Source§

fn decode<'a>(&mut self, frame: Frame<'a>) -> Result<Frame<'a>>

Implementors§

Source§

impl Codec for CompressionCodec

Source§

impl Codec for EncryptionCodec

Source§

impl Codec for PlainCodec

Source§

impl<T, U> Codec for ChainCodec<T, U>
where T: Codec + Clone, U: Codec + Clone,

Source§

impl<T, U, P> Codec for PredicateCodec<T, U, P>
where T: Codec + Clone, U: Codec + Clone, P: Fn(&Frame<'_>) -> bool,