pub struct Handshake<DCID, SCID, PacketNumber, Payload> {
pub version: u32,
pub destination_connection_id: DCID,
pub source_connection_id: SCID,
pub packet_number: PacketNumber,
pub payload: Payload,
}Fields§
§version: u32§destination_connection_id: DCID§source_connection_id: SCID§packet_number: PacketNumber§payload: PayloadImplementations§
Source§impl<'a> Handshake<CheckedRange, CheckedRange, ProtectedPacketNumber, ProtectedPayload<'a>>
impl<'a> Handshake<CheckedRange, CheckedRange, ProtectedPacketNumber, ProtectedPayload<'a>>
pub fn unprotect<K: HandshakeHeaderKey>( self, key: &K, largest_acknowledged_packet_number: PacketNumber, ) -> Result<EncryptedHandshake<'a>, Error>
pub fn destination_connection_id(&self) -> &[u8] ⓘ
pub fn source_connection_id(&self) -> &[u8] ⓘ
Source§impl<'a> Handshake<CheckedRange, CheckedRange, PacketNumber, EncryptedPayload<'a>>
impl<'a> Handshake<CheckedRange, CheckedRange, PacketNumber, EncryptedPayload<'a>>
pub fn decrypt<C: HandshakeKey>( self, crypto: &C, ) -> Result<CleartextHandshake<'a>, ProcessingError>
pub fn destination_connection_id(&self) -> &[u8] ⓘ
pub fn source_connection_id(&self) -> &[u8] ⓘ
pub fn key_phase(&self) -> KeyPhase
Source§impl Handshake<&[u8], &[u8], PacketNumber, DecoderBufferMut<'_>>
impl Handshake<&[u8], &[u8], PacketNumber, DecoderBufferMut<'_>>
pub fn destination_connection_id(&self) -> &[u8] ⓘ
pub fn source_connection_id(&self) -> &[u8] ⓘ
Trait Implementations§
Source§impl<DCID: Debug, SCID: Debug, PacketNumber: Debug, Payload: Debug> Debug for Handshake<DCID, SCID, PacketNumber, Payload>
impl<DCID: Debug, SCID: Debug, PacketNumber: Debug, Payload: Debug> Debug for Handshake<DCID, SCID, PacketNumber, Payload>
Source§impl<DCID: EncoderValue, SCID: EncoderValue, Payload: EncoderValue> EncoderValue for Handshake<DCID, SCID, TruncatedPacketNumber, Payload>
impl<DCID: EncoderValue, SCID: EncoderValue, Payload: EncoderValue> EncoderValue for Handshake<DCID, SCID, TruncatedPacketNumber, Payload>
Source§fn encode_mut<E>(&mut self, encoder: &mut E)where
E: Encoder,
fn encode_mut<E>(&mut self, encoder: &mut E)where
E: Encoder,
Encodes the value into the encoder, while potentially mutating the value itself
Source§fn encoding_size(&self) -> usize
fn encoding_size(&self) -> usize
Returns the encoding size with no buffer constrains
Source§fn encoding_size_for_encoder<E>(&self, encoder: &E) -> usizewhere
E: Encoder,
fn encoding_size_for_encoder<E>(&self, encoder: &E) -> usizewhere
E: Encoder,
Returns the encoding size for the given encoder’s capacity
Source§fn encode_with_len_prefix<Len, E>(&self, encoder: &mut E)
fn encode_with_len_prefix<Len, E>(&self, encoder: &mut E)
Encodes the value into the encoder with a prefix of
Lenfn encode_to_vec(&self) -> Vec<u8> ⓘ
Source§impl<DCID: EncoderValue, SCID: EncoderValue, Payload: PacketPayloadEncoder, K: HandshakeKey, H: HandshakeHeaderKey> PacketEncoder<K, H, Payload> for Handshake<DCID, SCID, PacketNumber, Payload>
impl<DCID: EncoderValue, SCID: EncoderValue, Payload: PacketPayloadEncoder, K: HandshakeKey, H: HandshakeHeaderKey> PacketEncoder<K, H, Payload> for Handshake<DCID, SCID, PacketNumber, Payload>
type PayloadLenCursor = LongPayloadLenCursor
Source§fn packet_number(&self) -> PacketNumber
fn packet_number(&self) -> PacketNumber
Returns the packet number for the current packet
Source§fn encode_header<E: Encoder>(
&self,
packet_number_len: PacketNumberLen,
encoder: &mut E,
)
fn encode_header<E: Encoder>( &self, packet_number_len: PacketNumberLen, encoder: &mut E, )
Encodes the current packet’s header into the provided encoder
Source§fn payload(&mut self) -> &mut Payload
fn payload(&mut self) -> &mut Payload
Returns the payload for the current packet
fn encode_packet<'a>( self, key: &mut K, header_key: &H, largest_acknowledged_packet_number: PacketNumber, min_packet_len: Option<usize>, buffer: EncoderBuffer<'a>, ) -> Result<(ProtectedPayload<'a>, EncoderBuffer<'a>), PacketEncodingError<'a>>
Auto Trait Implementations§
impl<DCID, SCID, PacketNumber, Payload> Freeze for Handshake<DCID, SCID, PacketNumber, Payload>
impl<DCID, SCID, PacketNumber, Payload> RefUnwindSafe for Handshake<DCID, SCID, PacketNumber, Payload>where
DCID: RefUnwindSafe,
SCID: RefUnwindSafe,
PacketNumber: RefUnwindSafe,
Payload: RefUnwindSafe,
impl<DCID, SCID, PacketNumber, Payload> Send for Handshake<DCID, SCID, PacketNumber, Payload>
impl<DCID, SCID, PacketNumber, Payload> Sync for Handshake<DCID, SCID, PacketNumber, Payload>
impl<DCID, SCID, PacketNumber, Payload> Unpin for Handshake<DCID, SCID, PacketNumber, Payload>
impl<DCID, SCID, PacketNumber, Payload> UnwindSafe for Handshake<DCID, SCID, PacketNumber, Payload>
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
Source§impl<T> PacketPayloadEncoder for Twhere
T: EncoderValue,
impl<T> PacketPayloadEncoder for Twhere
T: EncoderValue,
Source§fn encoding_size_hint<E>(&mut self, encoder: &E, minimum_len: usize) -> usizewhere
E: Encoder,
fn encoding_size_hint<E>(&mut self, encoder: &E, minimum_len: usize) -> usizewhere
E: Encoder,
Returns an estimate of the encoding size of the payload. This
may be inaccurate from what actually is encoded. Estimates should
be less than or equal to what is actually written.
Implementations can return 0 to skip encoding.