Decoder

Trait Decoder 

Source
pub trait Decoder<T: CodecSpec>:
    Codec<T>
    + Send
    + Sync {
    // Required methods
    fn send_packet(
        &mut self,
        config: &T,
        pool: Option<&Arc<FramePool<Frame<'static, T::FrameDescriptor>>>>,
        packet: Packet<'_>,
    ) -> Result<()>;
    fn receive_frame(
        &mut self,
        config: &T,
        pool: Option<&Arc<FramePool<Frame<'static, T::FrameDescriptor>>>>,
    ) -> Result<SharedFrame<Frame<'static, T::FrameDescriptor>>>;
    fn flush(&mut self, config: &T) -> Result<()>;

    // Provided method
    fn init(&mut self, _config: &T) -> Result<()> { ... }
}

Required Methods§

Source

fn send_packet( &mut self, config: &T, pool: Option<&Arc<FramePool<Frame<'static, T::FrameDescriptor>>>>, packet: Packet<'_>, ) -> Result<()>

Source

fn receive_frame( &mut self, config: &T, pool: Option<&Arc<FramePool<Frame<'static, T::FrameDescriptor>>>>, ) -> Result<SharedFrame<Frame<'static, T::FrameDescriptor>>>

Source

fn flush(&mut self, config: &T) -> Result<()>

Provided Methods§

Source

fn init(&mut self, _config: &T) -> Result<()>

Implementors§