pub struct QuicVersionNegotiationPacketBuilder<'buffer, 'input> { /* private fields */ }Expand description
Builds a terminal QUIC Version Negotiation packet in caller-owned storage.
Implementations§
Source§impl<'buffer, 'input> QuicVersionNegotiationPacketBuilder<'buffer, 'input>
impl<'buffer, 'input> QuicVersionNegotiationPacketBuilder<'buffer, 'input>
Sourcepub fn new(
destination: &'buffer mut [u8],
unused_bits: u8,
destination_connection_id: QuicConnectionId<'input>,
source_connection_id: QuicConnectionId<'input>,
versions: &'input [QuicVersion],
) -> Self
pub fn new( destination: &'buffer mut [u8], unused_bits: u8, destination_connection_id: QuicConnectionId<'input>, source_connection_id: QuicConnectionId<'input>, versions: &'input [QuicVersion], ) -> Self
Creates a builder for a Version Negotiation packet with the supplied wire components.
Sourcepub fn build(
self,
) -> Result<QuicVersionNegotiationPacket<'buffer>, QuicPacketBuildError>
pub fn build( self, ) -> Result<QuicVersionNegotiationPacket<'buffer>, QuicPacketBuildError>
Validates all inputs and capacity before writing a complete Version Negotiation packet.
Auto Trait Implementations§
impl<'buffer, 'input> !UnwindSafe for QuicVersionNegotiationPacketBuilder<'buffer, 'input>
impl<'buffer, 'input> Freeze for QuicVersionNegotiationPacketBuilder<'buffer, 'input>
impl<'buffer, 'input> RefUnwindSafe for QuicVersionNegotiationPacketBuilder<'buffer, 'input>
impl<'buffer, 'input> Send for QuicVersionNegotiationPacketBuilder<'buffer, 'input>
impl<'buffer, 'input> Sync for QuicVersionNegotiationPacketBuilder<'buffer, 'input>
impl<'buffer, 'input> Unpin for QuicVersionNegotiationPacketBuilder<'buffer, 'input>
impl<'buffer, 'input> UnsafeUnpin for QuicVersionNegotiationPacketBuilder<'buffer, 'input>
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