pub struct MemTrackingInput<'a, I> { /* private fields */ }
Expand description
Input
implementation that can be used for limiting the heap memory usage while decoding.
Implementations§
Trait Implementations§
Source§impl<'a, I: Input> Input for MemTrackingInput<'a, I>
impl<'a, I: Input> Input for MemTrackingInput<'a, I>
Source§fn remaining_len(&mut self) -> Result<Option<usize>, Error>
fn remaining_len(&mut self) -> Result<Option<usize>, Error>
Should return the remaining length of the input data. If no information about the input
length is available,
None
should be returned. Read moreSource§fn read(&mut self, into: &mut [u8]) -> Result<(), Error>
fn read(&mut self, into: &mut [u8]) -> Result<(), Error>
Read the exact number of bytes required to fill the given buffer. Read more
Source§fn descend_ref(&mut self) -> Result<(), Error>
fn descend_ref(&mut self) -> Result<(), Error>
Descend into nested reference when decoding.
This is called when decoding a new refence-based instance,
such as
Vec
or Box
. Currently, all such types are
allocated on the heap.Source§fn ascend_ref(&mut self)
fn ascend_ref(&mut self)
Ascend to previous structure level when decoding.
This is called when decoding reference-based type is finished.
Auto Trait Implementations§
impl<'a, I> Freeze for MemTrackingInput<'a, I>
impl<'a, I> RefUnwindSafe for MemTrackingInput<'a, I>where
I: RefUnwindSafe,
impl<'a, I> Send for MemTrackingInput<'a, I>where
I: Send,
impl<'a, I> Sync for MemTrackingInput<'a, I>where
I: Sync,
impl<'a, I> Unpin for MemTrackingInput<'a, I>
impl<'a, I> !UnwindSafe for MemTrackingInput<'a, I>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more