Struct rustls::internal::msgs::deframer::MessageDeframer
[−]
[src]
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 neccessary.
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]
fn new() -> MessageDeframer
fn read(&mut self, rd: &mut Read) -> Result<usize>
Read some bytes from rd
, and add them to our internal
buffer. If this means our internal buffer contains
full messages, decode them all.
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.