Struct TlsSession
pub struct TlsSession { /* private fields */ }Available on crate feature
quic and (crate features rustls-aws-lc-rs or rustls-ring) only.Expand description
A rustls TLS session
Trait Implementations§
§impl Session for TlsSession
impl Session for TlsSession
§fn peer_identity(&self) -> Option<Box<dyn Any>>
fn peer_identity(&self) -> Option<Box<dyn Any>>
For the rustls TlsSession, the Any type is Vec<rustls::pki_types::CertificateDer>
§fn initial_keys(&self, dst_cid: &ConnectionId, side: Side) -> Keys
fn initial_keys(&self, dst_cid: &ConnectionId, side: Side) -> Keys
Create the initial set of keys given the client’s initial destination ConnectionId
§fn handshake_data(&self) -> Option<Box<dyn Any>>
fn handshake_data(&self) -> Option<Box<dyn Any>>
Get data negotiated during the handshake, if available Read more
§fn early_crypto(&self) -> Option<(Box<dyn HeaderKey>, Box<dyn PacketKey>)>
fn early_crypto(&self) -> Option<(Box<dyn HeaderKey>, Box<dyn PacketKey>)>
Get the 0-RTT keys if available (clients only) Read more
§fn early_data_accepted(&self) -> Option<bool>
fn early_data_accepted(&self) -> Option<bool>
If the 0-RTT-encrypted data has been accepted by the peer
§fn is_handshaking(&self) -> bool
fn is_handshaking(&self) -> bool
Returns
true until the connection is fully established.§fn read_handshake(&mut self, buf: &[u8]) -> Result<bool, Error>
fn read_handshake(&mut self, buf: &[u8]) -> Result<bool, Error>
Read bytes of handshake data Read more
§fn transport_parameters(&self) -> Result<Option<TransportParameters>, Error>
fn transport_parameters(&self) -> Result<Option<TransportParameters>, Error>
The peer’s QUIC transport parameters Read more
§fn write_handshake(&mut self, buf: &mut Vec<u8>) -> Option<Keys>
fn write_handshake(&mut self, buf: &mut Vec<u8>) -> Option<Keys>
Writes handshake bytes into the given buffer and optionally returns the negotiated keys Read more
§fn next_1rtt_keys(&mut self) -> Option<KeyPair<Box<dyn PacketKey>>>
fn next_1rtt_keys(&mut self) -> Option<KeyPair<Box<dyn PacketKey>>>
Compute keys for the next key update
§fn is_valid_retry(
&self,
orig_dst_cid: &ConnectionId,
header: &[u8],
payload: &[u8],
) -> bool
fn is_valid_retry( &self, orig_dst_cid: &ConnectionId, header: &[u8], payload: &[u8], ) -> bool
Verify the integrity of a retry packet
§fn export_keying_material(
&self,
output: &mut [u8],
label: &[u8],
context: &[u8],
) -> Result<(), ExportKeyingMaterialError>
fn export_keying_material( &self, output: &mut [u8], label: &[u8], context: &[u8], ) -> Result<(), ExportKeyingMaterialError>
Auto Trait Implementations§
impl Freeze for TlsSession
impl !RefUnwindSafe for TlsSession
impl Send for TlsSession
impl Sync for TlsSession
impl Unpin for TlsSession
impl UnsafeUnpin for TlsSession
impl !UnwindSafe for TlsSession
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
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more