Trait frame_support::dispatch::Input
source · [−]pub trait Input {
fn remaining_len(&mut self) -> Result<Option<usize>, Error>;
fn read(&mut self, into: &mut [u8]) -> Result<(), Error>;
fn read_byte(&mut self) -> Result<u8, Error> { ... }
fn descend_ref(&mut self) -> Result<(), Error> { ... }
fn ascend_ref(&mut self) { ... }
}
Expand description
Trait that allows reading of data into a slice.
Required methods
Should return the remaining length of the input data. If no information about the input
length is available, None
should be returned.
The length is used to constrain the preallocation while decoding. Returning a garbage
length can open the doors for a denial of service attack to your application.
Otherwise, returning None
can decrease the performance of your application.
Provided methods
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.
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.