pub struct MessageDecoder { /* private fields */ }Expand description
Incremental framed-CBOR decoder: feed bytes, get protocol messages.
Implementations§
Source§impl MessageDecoder
impl MessageDecoder
pub fn new(max_frame_length: usize, cbor_options: CborOptions) -> Self
pub fn with_defaults() -> Self
Sourcepub fn push(&mut self, chunk: &[u8]) -> Result<Vec<Value>, ProtocolError>
pub fn push(&mut self, chunk: &[u8]) -> Result<Vec<Value>, ProtocolError>
Feed a chunk; returns any complete protocol messages it produced.
Sourcepub fn end(&mut self) -> Result<(), ProtocolError>
pub fn end(&mut self) -> Result<(), ProtocolError>
Signal end of stream (errors if a partial frame is buffered).
Auto Trait Implementations§
impl Freeze for MessageDecoder
impl RefUnwindSafe for MessageDecoder
impl Send for MessageDecoder
impl Sync for MessageDecoder
impl Unpin for MessageDecoder
impl UnsafeUnpin for MessageDecoder
impl UnwindSafe for MessageDecoder
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more