pub struct WriteTraffic<'c, Data> { /* private fields */ }
Expand description
Allows encrypting app-data
Implementations§
Source§impl<Data> WriteTraffic<'_, Data>
impl<Data> WriteTraffic<'_, Data>
Sourcepub fn encrypt(
&mut self,
application_data: &[u8],
outgoing_tls: &mut [u8],
) -> Result<usize, EncryptError>
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
Sourcepub fn queue_close_notify(
&mut self,
outgoing_tls: &mut [u8],
) -> Result<usize, EncryptError>
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
Sourcepub fn refresh_traffic_keys(self) -> Result<(), Error>
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
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