pub struct MessageStreamScanner { /* private fields */ }Expand description
Feed bytes, learn exactly where one complete SSP2 envelope ends.
Mirrors MessageStreamScanner in packages/core/src/stream.ts frame
for frame: header validation, frame-length walking, exact-END
detection, and excess reporting. Once complete, push
must not be called again.
Implementations§
Source§impl MessageStreamScanner
impl MessageStreamScanner
pub fn new() -> MessageStreamScanner
Sourcepub fn push(
&mut self,
chunk: &[u8],
) -> Result<Option<ScannedMessage>, DecodeError>
pub fn push( &mut self, chunk: &[u8], ) -> Result<Option<ScannedMessage>, DecodeError>
Feed one chunk. Returns Ok(Some(..)) once the END frame is fully
buffered, Ok(None) while more bytes are needed. Returns a
DecodeError on an invalid envelope header (connection-fatal per
§8.7). Panics on use after completion (a caller bug, mirroring the
TS scanner’s thrown error).
Trait Implementations§
Source§impl Default for MessageStreamScanner
impl Default for MessageStreamScanner
Source§fn default() -> MessageStreamScanner
fn default() -> MessageStreamScanner
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for MessageStreamScanner
impl RefUnwindSafe for MessageStreamScanner
impl Send for MessageStreamScanner
impl Sync for MessageStreamScanner
impl Unpin for MessageStreamScanner
impl UnsafeUnpin for MessageStreamScanner
impl UnwindSafe for MessageStreamScanner
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