Struct rustls::unbuffered::WriteTraffic
source · 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.