Trait dharitri_codec::NestedDecodeInput
source · pub trait NestedDecodeInput {
// Required methods
fn remaining_len(&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) -> !
);
// Provided methods
fn is_depleted(&self) -> bool { ... }
fn read_specialized<T, C, F>(
&mut self,
_context: C,
else_deser: F
) -> Result<T, DecodeError>
where T: TryStaticCast,
C: TryStaticCast,
F: FnOnce(&mut Self) -> Result<T, DecodeError> { ... }
fn read_specialized_or_exit<T, C, ExitCtx, F>(
&mut self,
_context: C,
c: ExitCtx,
_exit: fn(_: ExitCtx, _: DecodeError) -> !,
else_deser: F
) -> T
where T: TryStaticCast,
C: TryStaticCast,
F: FnOnce(&mut Self, ExitCtx) -> T,
ExitCtx: Clone { ... }
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 deserializing objects from a buffer.
Required Methods§
sourcefn remaining_len(&self) -> usize
fn remaining_len(&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.
Provided Methods§
sourcefn is_depleted(&self) -> bool
fn is_depleted(&self) -> bool
True if all data from the buffer has already been used.
fn read_specialized<T, C, F>( &mut self, _context: C, else_deser: F ) -> Result<T, DecodeError>
fn read_specialized_or_exit<T, C, ExitCtx, F>( &mut self, _context: C, c: ExitCtx, _exit: fn(_: ExitCtx, _: DecodeError) -> !, else_deser: F ) -> T
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.
Implementations on Foreign Types§
source§impl<'a> NestedDecodeInput for &'a [u8]
impl<'a> NestedDecodeInput for &'a [u8]
A nested decode buffer implementation on referenced data.