pub struct Retry<'a> {
pub tag: u8,
pub version: u32,
pub destination_connection_id: &'a [u8],
pub source_connection_id: &'a [u8],
pub retry_token: &'a [u8],
pub retry_integrity_tag: &'a IntegrityTag,
}Fields
tag: u8version: u32destination_connection_id: &'a [u8]source_connection_id: &'a [u8]retry_token: &'a [u8]retry_integrity_tag: &'a IntegrityTagImplementations
sourceimpl<'a> Retry<'a>
impl<'a> Retry<'a>
pub fn encode_packet<T: Format, C: RetryKey, R: Generator>(
remote_address: &SocketAddress,
packet: &ProtectedInitial<'_>,
local_connection_id: &LocalId,
random: &mut R,
token_format: &mut T,
packet_buf: &mut [u8]
) -> Option<Range<usize>>
pub fn validate<Crypto, CreateBuf, Buf>(
&self,
odcid: &InitialId,
create_buf: CreateBuf
) -> Result<(), CryptoError> where
Crypto: RetryKey,
CreateBuf: FnOnce(usize) -> Buf,
Buf: AsMut<[u8]>,
pub fn from_initial(
initial_packet: &'a ProtectedInitial<'_>,
local_connection_id: &'a [u8]
) -> Self
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 retry_token(&self) -> &[u8]ⓘNotable traits for &[u8]impl<'_> Read for &[u8]impl<'_> Write for &mut [u8]
Trait Implementations
sourceimpl<'a> EncoderValue for Retry<'a>
impl<'a> EncoderValue for Retry<'a>
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
Auto Trait Implementations
impl<'a> RefUnwindSafe for Retry<'a>
impl<'a> Send for Retry<'a>
impl<'a> Sync for Retry<'a>
impl<'a> Unpin for Retry<'a>
impl<'a> UnwindSafe for Retry<'a>
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