[]Struct yukikaze::connector::rustls::internal::msgs::deframer::MessageDeframer

pub struct MessageDeframer {
    pub frames: VecDeque<Message>,
    pub desynced: bool,
    // some fields omitted
}

This deframer works to reconstruct TLS messages from arbitrary-sized reads, buffering as necessary. The input is read(), the output is the frames deque.

Fields

frames: VecDeque<Message>

Completed frames for output.

desynced: bool

Set to true if the peer is not talking TLS, but some other protocol. The caller should abort the connection, because the deframer cannot recover.

Implementations

impl MessageDeframer

pub fn new() -> MessageDeframer

pub fn read(&mut self, rd: &mut dyn Read) -> Result<usize, Error>

Read some bytes from rd, and add them to our internal buffer. If this means our internal buffer contains full messages, decode them all.

pub fn has_pending(&self) -> bool

Returns true if we have messages for the caller to process, either whole messages in our output queue or partial messages in our buffer.

Trait Implementations

impl Default for MessageDeframer

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> Sealed<T> for T where
    T: ?Sized

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.