[][src]Struct kayrx::secure::tls::rust_tls::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.

Methods

impl MessageDeframer[src]

pub fn new() -> MessageDeframer[src]

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

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[src]

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[src]

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, 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.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,