pub trait BinProto<'buf> {
    // Required methods
    fn qualified_name(&self) -> &'static str;
    fn merge_field(
        &mut self,
        tag_wire: u32,
        stream: &mut InputStream<'buf>
    ) -> Result<()>;
    fn size(&self, stack: &mut SizeStack) -> usize;
    fn encode(&self, stream: &mut OutputStream);
}

Required Methods§

source

fn qualified_name(&self) -> &'static str

source

fn merge_field( &mut self, tag_wire: u32, stream: &mut InputStream<'buf> ) -> Result<()>

source

fn size(&self, stack: &mut SizeStack) -> usize

source

fn encode(&self, stream: &mut OutputStream)

Implementations on Foreign Types§

source§

impl<'buf, 'arena, T> BinProto<'buf> for Box<'arena, T>
where T: BinProto<'buf>,

source§

fn qualified_name(&self) -> &'static str

source§

fn merge_field( &mut self, tag_wire: u32, stream: &mut InputStream<'buf> ) -> Result<()>

source§

fn size(&self, stack: &mut SizeStack) -> usize

source§

fn encode(&self, stream: &mut OutputStream)

source§

impl<'buf, T> BinProto<'buf> for Box<T>
where T: BinProto<'buf>,

source§

fn qualified_name(&self) -> &'static str

source§

fn merge_field( &mut self, tag_wire: u32, stream: &mut InputStream<'buf> ) -> Result<()>

source§

fn size(&self, stack: &mut SizeStack) -> usize

source§

fn encode(&self, stream: &mut OutputStream)

Implementors§

source§

impl<'buf, B: BytesLike<'buf>> BinProto<'buf> for UnknownFields<B>