Skip to main content

StompParser

Struct StompParser 

Source
pub struct StompParser {
    pub message: StompMessage,
    /* private fields */
}
Expand description

A push parser, externally a buffer is being filled with the STOMP message and headers as it arrive we process the data as it comes off the stream and save state between chunks of data arriving.

Fields§

§message: StompMessage

Implementations§

Source§

impl StompParser

Source

pub fn new(session_id: usize) -> StompParser

Source

pub fn take_message(&mut self, owner: Ownership) -> StompMessage

take ownership of the parsed message

Source

pub fn reset(&mut self)

reset wiping the message

Source

pub fn bytes_read(&self) -> usize

Source

pub fn push( &mut self, buffer: &[u8], pos: usize, chunk: &[u8], ) -> Result<ParserState, ParserState>

Required a complete rewrite from xtomp because rust does not have for loops or p++ and can not index arrays easily

buffer the full buffer we are loading pos position in the outer buffer (not the chunk) chunk slice of input buffer we are reading

Trait Implementations§

Source§

impl Debug for StompParser

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DebugAny for T
where T: Any + Debug,

Source§

impl<T> Erased for T

Source§

impl<T> UnsafeAny for T
where T: Any,