BinProto

Trait BinProto 

Source
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>,

Available on crate feature arena only.
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>