Struct s2n_quic_core::packet::short::Short
source · pub struct Short<DCID, KeyPhase, PacketNumber, Payload> {
pub spin_bit: SpinBit,
pub key_phase: KeyPhase,
pub destination_connection_id: DCID,
pub packet_number: PacketNumber,
pub payload: Payload,
}
Fields§
§spin_bit: SpinBit
§key_phase: KeyPhase
§destination_connection_id: DCID
§packet_number: PacketNumber
§payload: Payload
Implementations§
source§impl<'a> Short<CheckedRange, ProtectedKeyPhase, ProtectedPacketNumber, ProtectedPayload<'a>>
impl<'a> Short<CheckedRange, ProtectedKeyPhase, ProtectedPacketNumber, ProtectedPayload<'a>>
pub fn unprotect<H: OneRttHeaderKey>( self, header_key: &H, largest_acknowledged_packet_number: PacketNumber ) -> Result<EncryptedShort<'a>, Error>
pub fn destination_connection_id(&self) -> &[u8] ⓘ
source§impl<'a> Short<CheckedRange, KeyPhase, PacketNumber, EncryptedPayload<'a>>
impl<'a> Short<CheckedRange, KeyPhase, PacketNumber, EncryptedPayload<'a>>
pub fn decrypt<C: OneRttKey>( self, crypto: &C ) -> Result<CleartextShort<'a>, ProcessingError>
pub fn key_phase(&self) -> KeyPhase
pub fn destination_connection_id(&self) -> &[u8] ⓘ
source§impl<'a> Short<&'a [u8], KeyPhase, PacketNumber, DecoderBufferMut<'a>>
impl<'a> Short<&'a [u8], KeyPhase, PacketNumber, DecoderBufferMut<'a>>
pub fn destination_connection_id(&self) -> &[u8] ⓘ
Trait Implementations§
source§impl<DCID: Debug, KeyPhase: Debug, PacketNumber: Debug, Payload: Debug> Debug for Short<DCID, KeyPhase, PacketNumber, Payload>
impl<DCID: Debug, KeyPhase: Debug, PacketNumber: Debug, Payload: Debug> Debug for Short<DCID, KeyPhase, PacketNumber, Payload>
source§impl<DCID: EncoderValue, Payload: EncoderValue> EncoderValue for Short<DCID, KeyPhase, TruncatedPacketNumber, Payload>
impl<DCID: EncoderValue, Payload: EncoderValue> EncoderValue for Short<DCID, KeyPhase, 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
Len
fn encode_to_vec(&self) -> Vec<u8>
source§impl<DCID: EncoderValue, Payload: PacketPayloadEncoder, K: OneRttKey, H: OneRttHeaderKey> PacketEncoder<K, H, Payload> for Short<DCID, KeyPhase, PacketNumber, Payload>
impl<DCID: EncoderValue, Payload: PacketPayloadEncoder, K: OneRttKey, H: OneRttHeaderKey> PacketEncoder<K, H, Payload> for Short<DCID, KeyPhase, PacketNumber, Payload>
type PayloadLenCursor = ()
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: &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, KeyPhase, PacketNumber, Payload> Freeze for Short<DCID, KeyPhase, PacketNumber, Payload>
impl<DCID, KeyPhase, PacketNumber, Payload> RefUnwindSafe for Short<DCID, KeyPhase, PacketNumber, Payload>where
DCID: RefUnwindSafe,
KeyPhase: RefUnwindSafe,
PacketNumber: RefUnwindSafe,
Payload: RefUnwindSafe,
impl<DCID, KeyPhase, PacketNumber, Payload> Send for Short<DCID, KeyPhase, PacketNumber, Payload>
impl<DCID, KeyPhase, PacketNumber, Payload> Sync for Short<DCID, KeyPhase, PacketNumber, Payload>
impl<DCID, KeyPhase, PacketNumber, Payload> Unpin for Short<DCID, KeyPhase, PacketNumber, Payload>
impl<DCID, KeyPhase, PacketNumber, Payload> UnwindSafe for Short<DCID, KeyPhase, 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.