Struct rustls::unbuffered::WriteTraffic

source ·
pub struct WriteTraffic<'c, Data> { /* private fields */ }
Expand description

Allows encrypting app-data

Implementations§

source§

impl<Data> WriteTraffic<'_, Data>

source

pub fn encrypt( &mut self, application_data: &[u8], outgoing_tls: &mut [u8], ) -> Result<usize, EncryptError>

Encrypts application_data into the outgoing_tls buffer

Returns the number of bytes that were written into outgoing_tls, or an error if the provided buffer is too small. In the error case, outgoing_tls is not modified

source

pub fn queue_close_notify( &mut self, outgoing_tls: &mut [u8], ) -> Result<usize, EncryptError>

Encrypts a close_notify warning alert in outgoing_tls

Returns the number of bytes that were written into outgoing_tls, or an error if the provided buffer is too small. In the error case, outgoing_tls is not modified

source

pub fn refresh_traffic_keys(self) -> Result<(), Error>

Arranges for a TLS1.3 key_update to be sent.

This consumes the WriteTraffic state: to actually send the message, call UnbufferedConnectionCommon::process_tls_records again which will return a ConnectionState::EncodeTlsData that emits the key_update message.

See ConnectionCommon::refresh_traffic_keys() for full documentation, including why you might call this and in what circumstances it will fail.

Auto Trait Implementations§

§

impl<'c, Data> Freeze for WriteTraffic<'c, Data>

§

impl<'c, Data> !RefUnwindSafe for WriteTraffic<'c, Data>

§

impl<'c, Data> Send for WriteTraffic<'c, Data>
where Data: Send,

§

impl<'c, Data> Sync for WriteTraffic<'c, Data>
where Data: Sync,

§

impl<'c, Data> Unpin for WriteTraffic<'c, Data>

§

impl<'c, Data> !UnwindSafe for WriteTraffic<'c, Data>

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

source§

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

source§

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.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 8 bytes