Skip to main content

QuicConnection

Struct QuicConnection 

Source
pub struct QuicConnection(/* private fields */);
Expand description

A type-erased QUIC connection handle, equivalent to Arc<dyn QuicConnectionTrait>. Cheaply cloneable.

Handlers retrieve this from conn state to access QUIC features (streams, datagrams) without depending on the concrete QUIC implementation type.

Implementations§

Source§

impl QuicConnection

Source

pub async fn accept_bidi( &self, ) -> Result<(u64, Box<dyn QuicTransportBidi + Unpin + Send + Sync>)>

Accept the next bidirectional stream opened by the peer.

Source

pub async fn accept_uni( &self, ) -> Result<(u64, Box<dyn QuicTransportReceive + Unpin + Send + Sync>)>

Accept the next unidirectional stream opened by the peer.

Source

pub async fn open_uni( &self, ) -> Result<(u64, Box<dyn QuicTransportSend + Unpin + Send + Sync>)>

Open a new unidirectional stream to the peer.

Source

pub async fn open_bidi( &self, ) -> Result<(u64, Box<dyn QuicTransportBidi + Unpin + Send + Sync>)>

Open a new bidirectional stream to the peer.

Source

pub fn remote_address(&self) -> SocketAddr

The peer’s address.

Source

pub fn close(&self, error_code: u64, reason: &[u8])

Close the entire QUIC connection with an error code and reason.

Source

pub fn send_datagram(&self, data: &[u8]) -> Result<()>

Send an unreliable datagram over the QUIC connection.

Source

pub async fn recv_datagram<'a, F: FnOnce(&[u8]) + Send + 'a>( &'a self, callback: F, ) -> Result<()>

Receive the next unreliable datagram from the peer, passing the raw bytes to callback.

Source

pub fn max_datagram_size(&self) -> Option<usize>

The maximum datagram payload size the peer will accept, if datagrams are supported.

Trait Implementations§

Source§

impl Clone for QuicConnection

Source§

fn clone(&self) -> QuicConnection

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for QuicConnection

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T: QuicConnectionTrait> From<T> for QuicConnection

Source§

fn from(connection: T) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.