Skip to main content

Connection

Struct Connection 

Source
pub struct Connection { /* private fields */ }
Available on crate features h3-quinn and h3 only.
Expand description

A quinn connection adapted to the HTTP/3 transport traits.

Wraps aquinn::Connection; clone the underlying connection and adapt each side independently as needed.

Implementations§

Source§

impl Connection

Source

pub fn new(conn: Connection) -> Self

Adapts an established quinn connection.

The given connection must already have completed its handshake (for example Connecting::await on the client side, or awaiting an Incoming on the server side).

Source

pub fn close_reason(&self) -> Option<ConnectionError>

The reason the connection was closed, if it has been.

Exposes the raw quinn close reason; the transport traits only report a closed connection via Accept::poll_accept, so this is used to observe the application close code directly (diagnostics, tests).

Trait Implementations§

Source§

impl Accept for Connection

Source§

fn poll_accept( &mut self, cx: &mut Context<'_>, ) -> Poll<Result<Option<Box<dyn BidiStreamTrait>>, TransportError>>

Polls for the next accepted bidirectional (request) stream. Read more
Source§

fn poll_accept_uni( &mut self, cx: &mut Context<'_>, ) -> Poll<Result<Option<Box<dyn UniStreamTrait>>, TransportError>>

Polls for the next accepted unidirectional stream (the peer’s control stream and QPACK streams). Read more
Source§

impl Connection for Connection

Source§

fn is_handshake_complete(&self) -> bool

Whether the handshake has completed. Read more
Source§

fn poll_shutdown( &mut self, _cx: &mut Context<'_>, error_code: u64, ) -> Poll<Result<(), TransportError>>

Polls to shut down the connection gracefully with an application error code, allowing in-flight streams to drain.
Source§

impl OpenStreams for Connection

Source§

fn poll_open_uni( &mut self, cx: &mut Context<'_>, ) -> Poll<Result<Box<dyn UniStreamTrait>, TransportError>>

Polls the connection to open a new unidirectional stream.

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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, 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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more