pub struct ExtensionAwareTlsSession { /* private fields */ }
Expand description
Wrapper for TlsSession that integrates with TlsExtensionHooks
Implementations§
Source§impl ExtensionAwareTlsSession
impl ExtensionAwareTlsSession
Sourcepub fn new(
inner_session: Box<dyn Session>,
extension_hooks: Arc<dyn TlsExtensionHooks>,
conn_id: String,
is_client: bool,
) -> Self
pub fn new( inner_session: Box<dyn Session>, extension_hooks: Arc<dyn TlsExtensionHooks>, conn_id: String, is_client: bool, ) -> Self
Create a new extension-aware TLS session
Sourcepub fn get_negotiation_result(&self) -> Option<NegotiationResult>
pub fn get_negotiation_result(&self) -> Option<NegotiationResult>
Get the negotiation result if available
Trait Implementations§
Source§impl Session for ExtensionAwareTlsSession
Implement the crypto::Session trait for our wrapper
impl Session for ExtensionAwareTlsSession
Implement the crypto::Session trait for our wrapper
Source§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
Source§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
Source§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
Source§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
Source§fn is_handshaking(&self) -> bool
fn is_handshaking(&self) -> bool
Returns
true
until the connection is fully established.Source§fn read_handshake(&mut self, buf: &[u8]) -> Result<bool, TransportError>
fn read_handshake(&mut self, buf: &[u8]) -> Result<bool, TransportError>
Read bytes of handshake data Read more
Source§fn transport_parameters(
&self,
) -> Result<Option<TransportParameters>, TransportError>
fn transport_parameters( &self, ) -> Result<Option<TransportParameters>, TransportError>
The peer’s QUIC transport parameters Read more
Source§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
Source§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
Source§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
Auto Trait Implementations§
impl Freeze for ExtensionAwareTlsSession
impl !RefUnwindSafe for ExtensionAwareTlsSession
impl Send for ExtensionAwareTlsSession
impl Sync for ExtensionAwareTlsSession
impl Unpin for ExtensionAwareTlsSession
impl !UnwindSafe for ExtensionAwareTlsSession
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