pub struct ZeroRtt<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> ZeroRtt<CheckedRange, CheckedRange, ProtectedPacketNumber, ProtectedPayload<'a>>
impl<'a> ZeroRtt<CheckedRange, CheckedRange, ProtectedPacketNumber, ProtectedPayload<'a>>
pub fn unprotect<H: ZeroRttHeaderKey>( self, header_key: &H, largest_acknowledged_packet_number: PacketNumber, ) -> Result<EncryptedZeroRtt<'a>, Error>
pub fn destination_connection_id(&self) -> &[u8] ⓘ
pub fn source_connection_id(&self) -> &[u8] ⓘ
Source§impl<'a> ZeroRtt<CheckedRange, CheckedRange, PacketNumber, EncryptedPayload<'a>>
impl<'a> ZeroRtt<CheckedRange, CheckedRange, PacketNumber, EncryptedPayload<'a>>
pub fn decrypt<C: ZeroRttKey>( self, crypto: &C, ) -> Result<CleartextZeroRtt<'a>, Error>
pub fn destination_connection_id(&self) -> &[u8] ⓘ
pub fn source_connection_id(&self) -> &[u8] ⓘ
Source§impl ZeroRtt<&[u8], &[u8], PacketNumber, DecoderBufferMut<'_>>
impl ZeroRtt<&[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 ZeroRtt<DCID, SCID, PacketNumber, Payload>
impl<DCID: Debug, SCID: Debug, PacketNumber: Debug, Payload: Debug> Debug for ZeroRtt<DCID, SCID, PacketNumber, Payload>
Source§impl<DCID: EncoderValue, SCID: EncoderValue, Payload: EncoderValue> EncoderValue for ZeroRtt<DCID, SCID, TruncatedPacketNumber, Payload>
impl<DCID: EncoderValue, SCID: EncoderValue, Payload: EncoderValue> EncoderValue for ZeroRtt<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: ZeroRttKey, H: ZeroRttHeaderKey> PacketEncoder<K, H, Payload> for ZeroRtt<DCID, SCID, PacketNumber, Payload>
impl<DCID: EncoderValue, SCID: EncoderValue, Payload: PacketPayloadEncoder, K: ZeroRttKey, H: ZeroRttHeaderKey> PacketEncoder<K, H, Payload> for ZeroRtt<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 ZeroRtt<DCID, SCID, PacketNumber, Payload>
impl<DCID, SCID, PacketNumber, Payload> RefUnwindSafe for ZeroRtt<DCID, SCID, PacketNumber, Payload>where
DCID: RefUnwindSafe,
SCID: RefUnwindSafe,
PacketNumber: RefUnwindSafe,
Payload: RefUnwindSafe,
impl<DCID, SCID, PacketNumber, Payload> Send for ZeroRtt<DCID, SCID, PacketNumber, Payload>
impl<DCID, SCID, PacketNumber, Payload> Sync for ZeroRtt<DCID, SCID, PacketNumber, Payload>
impl<DCID, SCID, PacketNumber, Payload> Unpin for ZeroRtt<DCID, SCID, PacketNumber, Payload>
impl<DCID, SCID, PacketNumber, Payload> UnwindSafe for ZeroRtt<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.