pub struct Initial<DCID, SCID, Token, PacketNumber, Payload> {
pub version: u32,
pub destination_connection_id: DCID,
pub source_connection_id: SCID,
pub token: Token,
pub packet_number: PacketNumber,
pub payload: Payload,
}Fields
version: u32destination_connection_id: DCIDsource_connection_id: SCIDtoken: Tokenpacket_number: PacketNumberpayload: PayloadImplementations
sourceimpl<'a> Initial<CheckedRange, CheckedRange, CheckedRange, ProtectedPacketNumber, ProtectedPayload<'a>>
impl<'a> Initial<CheckedRange, CheckedRange, CheckedRange, ProtectedPacketNumber, ProtectedPayload<'a>>
pub fn unprotect<H: InitialHeaderKey>(
self,
header_key: &H,
largest_acknowledged_packet_number: PacketNumber
) -> Result<EncryptedInitial<'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]
pub fn token(&self) -> &[u8]ⓘNotable traits for &[u8]impl<'_> Read for &[u8]impl<'_> Write for &mut [u8]
sourceimpl<'a> Initial<CheckedRange, CheckedRange, CheckedRange, PacketNumber, EncryptedPayload<'a>>
impl<'a> Initial<CheckedRange, CheckedRange, CheckedRange, PacketNumber, EncryptedPayload<'a>>
pub fn decrypt<C: InitialKey>(
self,
crypto: &C
) -> Result<CleartextInitial<'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]
pub fn token(&self) -> &[u8]ⓘNotable traits for &[u8]impl<'_> Read for &[u8]impl<'_> Write for &mut [u8]
pub fn key_phase(&self) -> KeyPhase
sourceimpl<'a> Initial<&'a [u8], &'a [u8], &'a [u8], PacketNumber, DecoderBufferMut<'a>>
impl<'a> Initial<&'a [u8], &'a [u8], &'a [u8], PacketNumber, DecoderBufferMut<'a>>
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]
pub fn token(&self) -> &[u8]ⓘNotable traits for &[u8]impl<'_> Read for &[u8]impl<'_> Write for &mut [u8]
Trait Implementations
sourceimpl<DCID: Debug, SCID: Debug, Token: Debug, PacketNumber: Debug, Payload: Debug> Debug for Initial<DCID, SCID, Token, PacketNumber, Payload>
impl<DCID: Debug, SCID: Debug, Token: Debug, PacketNumber: Debug, Payload: Debug> Debug for Initial<DCID, SCID, Token, PacketNumber, Payload>
sourceimpl<DCID: EncoderValue, SCID: EncoderValue, Token: EncoderValue, Payload: EncoderValue> EncoderValue for Initial<DCID, SCID, Token, TruncatedPacketNumber, Payload>
impl<DCID: EncoderValue, SCID: EncoderValue, Token: EncoderValue, Payload: EncoderValue> EncoderValue for Initial<DCID, SCID, Token, 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, Token: EncoderValue, Payload: PacketPayloadEncoder, K: InitialKey, H: InitialHeaderKey> PacketEncoder<K, H, Payload> for Initial<DCID, SCID, Token, PacketNumber, Payload>
impl<DCID: EncoderValue, SCID: EncoderValue, Token: EncoderValue, Payload: PacketPayloadEncoder, K: InitialKey, H: InitialHeaderKey> PacketEncoder<K, H, Payload> for Initial<DCID, SCID, Token, 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, Token, PacketNumber, Payload> RefUnwindSafe for Initial<DCID, SCID, Token, PacketNumber, Payload> where
DCID: RefUnwindSafe,
PacketNumber: RefUnwindSafe,
Payload: RefUnwindSafe,
SCID: RefUnwindSafe,
Token: RefUnwindSafe,
impl<DCID, SCID, Token, PacketNumber, Payload> Send for Initial<DCID, SCID, Token, PacketNumber, Payload> where
DCID: Send,
PacketNumber: Send,
Payload: Send,
SCID: Send,
Token: Send,
impl<DCID, SCID, Token, PacketNumber, Payload> Sync for Initial<DCID, SCID, Token, PacketNumber, Payload> where
DCID: Sync,
PacketNumber: Sync,
Payload: Sync,
SCID: Sync,
Token: Sync,
impl<DCID, SCID, Token, PacketNumber, Payload> Unpin for Initial<DCID, SCID, Token, PacketNumber, Payload> where
DCID: Unpin,
PacketNumber: Unpin,
Payload: Unpin,
SCID: Unpin,
Token: Unpin,
impl<DCID, SCID, Token, PacketNumber, Payload> UnwindSafe for Initial<DCID, SCID, Token, PacketNumber, Payload> where
DCID: UnwindSafe,
PacketNumber: UnwindSafe,
Payload: UnwindSafe,
SCID: UnwindSafe,
Token: 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