pub trait Serializer {
    type Marker;

    // Required methods
    fn context(&self) -> ProtocolContext;
    fn direction(&self) -> CommandDirection;
    fn write<F>(&mut self, length: usize, f: F) -> SerializeResult
       where F: FnOnce(&mut [u8]);
    fn write_bytes(&mut self, fragment: &[u8]) -> SerializeResult;
    fn write_marker(
        &mut self,
        length: usize
    ) -> Result<Self::Marker, SerializeError>;
    fn set_marker(
        &mut self,
        marker: Self::Marker,
        fragment: &[u8]
    ) -> SerializeResult;
    fn marker_distance(&self, marker: &Self::Marker) -> usize;
}

Required Associated Types§

Required Methods§

source

fn context(&self) -> ProtocolContext

source

fn direction(&self) -> CommandDirection

source

fn write<F>(&mut self, length: usize, f: F) -> SerializeResultwhere F: FnOnce(&mut [u8]),

source

fn write_bytes(&mut self, fragment: &[u8]) -> SerializeResult

source

fn write_marker( &mut self, length: usize ) -> Result<Self::Marker, SerializeError>

source

fn set_marker( &mut self, marker: Self::Marker, fragment: &[u8] ) -> SerializeResult

source

fn marker_distance(&self, marker: &Self::Marker) -> usize

Implementors§