Trait dharitri_codec::NestedDecodeInput
source · pub trait NestedDecodeInput {
// Required methods
fn remaining_len(&mut self) -> usize;
fn read_into(&mut self, into: &mut [u8]) -> Result<(), DecodeError>;
fn read_into_or_exit<ExitCtx: Clone>(
&mut self,
into: &mut [u8],
c: ExitCtx,
exit: fn(_: ExitCtx, _: DecodeError) -> !
);
fn read_slice(&mut self, length: usize) -> Result<&[u8], DecodeError>;
fn read_slice_or_exit<ExitCtx: Clone>(
&mut self,
length: usize,
c: ExitCtx,
exit: fn(_: ExitCtx, _: DecodeError) -> !
) -> &[u8];
fn flush(&mut self) -> &[u8];
// Provided methods
fn empty(&mut self) -> bool { ... }
fn read_byte(&mut self) -> Result<u8, DecodeError> { ... }
fn read_byte_or_exit<ExitCtx: Clone>(
&mut self,
c: ExitCtx,
exit: fn(_: ExitCtx, _: DecodeError) -> !
) -> u8 { ... }
}Expand description
Trait that allows reading of data into a slice.
Required Methods§
sourcefn remaining_len(&mut self) -> usize
fn remaining_len(&mut self) -> usize
The remaining length of the input data.
sourcefn read_into(&mut self, into: &mut [u8]) -> Result<(), DecodeError>
fn read_into(&mut self, into: &mut [u8]) -> Result<(), DecodeError>
Read the exact number of bytes required to fill the given buffer.
sourcefn read_into_or_exit<ExitCtx: Clone>(
&mut self,
into: &mut [u8],
c: ExitCtx,
exit: fn(_: ExitCtx, _: DecodeError) -> !
)
fn read_into_or_exit<ExitCtx: Clone>( &mut self, into: &mut [u8], c: ExitCtx, exit: fn(_: ExitCtx, _: DecodeError) -> ! )
Read the exact number of bytes required to fill the given buffer. Exit early if there are not enough bytes to fill the result.
sourcefn read_slice(&mut self, length: usize) -> Result<&[u8], DecodeError>
fn read_slice(&mut self, length: usize) -> Result<&[u8], DecodeError>
Read the exact number of bytes required to fill the given buffer.
sourcefn read_slice_or_exit<ExitCtx: Clone>(
&mut self,
length: usize,
c: ExitCtx,
exit: fn(_: ExitCtx, _: DecodeError) -> !
) -> &[u8]
fn read_slice_or_exit<ExitCtx: Clone>( &mut self, length: usize, c: ExitCtx, exit: fn(_: ExitCtx, _: DecodeError) -> ! ) -> &[u8]
Read the exact number of bytes required to fill the given buffer. Exit directly if the input contains too few bytes.
Provided Methods§
fn empty(&mut self) -> bool
sourcefn read_byte(&mut self) -> Result<u8, DecodeError>
fn read_byte(&mut self) -> Result<u8, DecodeError>
Read a single byte from the input.
sourcefn read_byte_or_exit<ExitCtx: Clone>(
&mut self,
c: ExitCtx,
exit: fn(_: ExitCtx, _: DecodeError) -> !
) -> u8
fn read_byte_or_exit<ExitCtx: Clone>( &mut self, c: ExitCtx, exit: fn(_: ExitCtx, _: DecodeError) -> ! ) -> u8
Read a single byte from the input.
Object Safety§
This trait is not object safe.