Trait radn::mode::Stream

source ·
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§

source

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.

source

fn iread_all<A>(self, ok: impl FnOnce(&[u8]) -> A) -> A

Read all bytes, consuming the deserializer.

source

fn itell(&self) -> usize

Re-export of Deserializer::tell.

Implementations on Foreign Types§

source§

impl<D: ?Sized + Deserializer> Stream for &mut D

source§

fn iread_n<A, E>( self, n: usize, ok: impl FnOnce(&[u8]) -> A, err: impl FnOnce(&[u8]) -> E ) -> Result<(A, Self), E>

source§

fn iread_all<A>(self, ok: impl FnOnce(&[u8]) -> A) -> A

source§

fn itell(&self) -> usize

Implementors§

source§

impl<'a: 'c, 'c, Ctx: Context<'a>> Stream for Demoted<'a, 'c, Ctx>