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: u32destination_connection_id: DCIDsource_connection_id: SCIDpacket_number: PacketNumberpayload: PayloadImplementations
sourceimpl<'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>, CryptoError>
pub fn destination_connection_id(&self) -> &[u8]ⓘNotable traits for &[u8]impl<'_> Read for &[u8]impl<'_> Write for &mut [u8]
pub fn source_connection_id(&self) -> &[u8]ⓘNotable traits for &[u8]impl<'_> Read for &[u8]impl<'_> Write for &mut [u8]
sourceimpl<'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>, CryptoError>
pub fn destination_connection_id(&self) -> &[u8]ⓘNotable traits for &[u8]impl<'_> Read for &[u8]impl<'_> Write for &mut [u8]
pub fn source_connection_id(&self) -> &[u8]ⓘNotable traits for &[u8]impl<'_> Read for &[u8]impl<'_> Write for &mut [u8]
sourceimpl<'a> ZeroRtt<&'a [u8], &'a [u8], PacketNumber, DecoderBufferMut<'a>>
impl<'a> ZeroRtt<&'a [u8], &'a [u8], PacketNumber, DecoderBufferMut<'a>>
Trait Implementations
sourceimpl<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>
sourceimpl<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>
sourcefn 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
sourcefn encoding_size(&self) -> usize
fn encoding_size(&self) -> usize
Returns the encoding size with no buffer constrains
sourcefn encoding_size_for_encoder<E>(&self, encoder: &E) -> usize where
E: Encoder,
fn encoding_size_for_encoder<E>(&self, encoder: &E) -> usize where
E: Encoder,
Returns the encoding size for the given encoder’s capacity
sourceimpl<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
sourcefn packet_number(&self) -> PacketNumber
fn packet_number(&self) -> PacketNumber
Returns the packet number for the current packet
sourcefn 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
fn encode_packet<'a>(
self,
key: &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> RefUnwindSafe for ZeroRtt<DCID, SCID, PacketNumber, Payload> where
DCID: RefUnwindSafe,
PacketNumber: RefUnwindSafe,
Payload: RefUnwindSafe,
SCID: RefUnwindSafe,
impl<DCID, SCID, PacketNumber, Payload> Send for ZeroRtt<DCID, SCID, PacketNumber, Payload> where
DCID: Send,
PacketNumber: Send,
Payload: Send,
SCID: Send,
impl<DCID, SCID, PacketNumber, Payload> Sync for ZeroRtt<DCID, SCID, PacketNumber, Payload> where
DCID: Sync,
PacketNumber: Sync,
Payload: Sync,
SCID: Sync,
impl<DCID, SCID, PacketNumber, Payload> Unpin for ZeroRtt<DCID, SCID, PacketNumber, Payload> where
DCID: Unpin,
PacketNumber: Unpin,
Payload: Unpin,
SCID: Unpin,
impl<DCID, SCID, PacketNumber, Payload> UnwindSafe for ZeroRtt<DCID, SCID, PacketNumber, Payload> where
DCID: UnwindSafe,
PacketNumber: UnwindSafe,
Payload: UnwindSafe,
SCID: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> PacketPayloadEncoder for T where
T: EncoderValue,
impl<T> PacketPayloadEncoder for T where
T: EncoderValue,
sourcefn encoding_size_hint<E>(&mut self, encoder: &E, minimum_len: usize) -> usize where
E: Encoder,
fn encoding_size_hint<E>(&mut self, encoder: &E, minimum_len: usize) -> usize where
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. Read more