pub trait Stream: Sized {
// Required methods
fn iread_n<A, E>(
self,
n: usize,
ok: impl FnOnce(&[u8]) -> A,
err: impl FnOnce(&[u8]) -> E
) -> Result<(A, Self), E>;
fn iread_all<A>(self, ok: impl FnOnce(&[u8]) -> A) -> A;
fn itell(&self) -> usize;
}Expand description
Deserializer with a cleaner interface for parsing multiple objects
from one stream (“inlining”).
Required Methods§
sourcefn iread_n<A, E>(
self,
n: usize,
ok: impl FnOnce(&[u8]) -> A,
err: impl FnOnce(&[u8]) -> E
) -> Result<(A, Self), E>
fn iread_n<A, E>( self, n: usize, ok: impl FnOnce(&[u8]) -> A, err: impl FnOnce(&[u8]) -> E ) -> Result<(A, Self), E>
Try to read n bytes. Consumes the deserializer on failure.
sourcefn iread_all<A>(self, ok: impl FnOnce(&[u8]) -> A) -> A
fn iread_all<A>(self, ok: impl FnOnce(&[u8]) -> A) -> A
Read all bytes, consuming the deserializer.
sourcefn itell(&self) -> usize
fn itell(&self) -> usize
Re-export of Deserializer::tell.