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

Methods

impl MessageDeframer[src]

pub fn new() -> MessageDeframer[src]

pub fn read(&mut self, rd: &mut dyn Read) -> Result<usize>[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.

Auto Trait Implementations

impl Unpin for MessageDeframer

impl Sync for MessageDeframer

impl Send for MessageDeframer

impl UnwindSafe for MessageDeframer

impl RefUnwindSafe for MessageDeframer

Blanket Implementations

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<T> Borrow<T> for T where
    T: ?Sized
[src]

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

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