Struct rustls::internal::msgs::deframer::MessageDeframer

source ·
pub struct MessageDeframer { /* private fields */ }
Expand description

This deframer works to reconstruct TLS messages from a stream of arbitrary-sized reads.

It buffers incoming data into a Vec through read(), and returns messages through pop(). QUIC connections will call push() to append handshake payload data directly.

Implementations§

source§

impl MessageDeframer

source

pub fn pop<'b>( &mut self, record_layer: &mut RecordLayer, negotiated_version: Option<ProtocolVersion>, buffer: &mut DeframerSliceBuffer<'b> ) -> Result<Option<Deframed<'b>>, Error>

Return any decrypted messages that the deframer has been able to parse.

Returns an Error if the deframer failed to parse some message contents or if decryption failed, Ok(None) if no full message is buffered or if trial decryption failed, and Ok(Some(_)) if a valid message was found and decrypted successfully.

source§

impl MessageDeframer

source

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

Read some bytes from rd, and add them to our internal buffer.

Trait Implementations§

source§

impl Default for MessageDeframer

source§

fn default() -> MessageDeframer

Returns the “default value” for a type. 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, U> TryFrom<U> for T
where U: Into<T>,

§

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

§

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.