Struct H3Controller

Source
pub struct H3Controller<H: DriverHooks> { /* private fields */ }
Expand description

Interface to communicate with a paired H3Driver.

An H3Controller receives H3Events from its driver, which must be consumed by the application built on top of the driver to react to incoming events. The controller also allows the application to send ad-hoc H3Commands to the driver, which will be processed when the driver waits for incoming data.

Implementations§

Source§

impl H3Controller<ClientHooks>

Source

pub fn request_sender(&self) -> ClientRequestSender

Creates a NewClientRequest sender for the paired ClientH3Driver.

Source§

impl<H: DriverHooks> H3Controller<H>

Source

pub fn event_receiver_mut(&mut self) -> &mut UnboundedReceiver<H::Event>

Gets a mut reference to the H3Event receiver for the paired H3Driver.

Source

pub fn take_event_receiver(&mut self) -> UnboundedReceiver<H::Event>

Takes the H3Event receiver for the paired H3Driver.

Source

pub fn cmd_sender(&self) -> RequestSender<H::Command, QuicCommand>

Creates a QuicCommand sender for the paired H3Driver.

Source

pub fn send_goaway(&self)

Sends a GOAWAY frame to initiate a graceful connection shutdown.

Auto Trait Implementations§

§

impl<H> Freeze for H3Controller<H>

§

impl<H> RefUnwindSafe for H3Controller<H>

§

impl<H> Send for H3Controller<H>

§

impl<H> Sync for H3Controller<H>

§

impl<H> Unpin for H3Controller<H>

§

impl<H> UnwindSafe for H3Controller<H>

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, 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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. 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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> SendSyncUnwindSafe for T
where T: Send + Sync + UnwindSafe + ?Sized,