Struct hyper::ffi::hyper_executor

source ·
pub struct hyper_executor { /* private fields */ }
Available on crate feature ffi and hyper_unstable_ffi only.
Expand description

A task executor for hyper_tasks.

A task is a unit of work that may be blocked on IO, and can be polled to make progress on that work.

An executor can hold many tasks, included from unrelated HTTP connections. An executor is single threaded. Typically you might have one executor per thread. Or, for simplicity, you may choose one executor per connection.

Progress on tasks happens only when hyper_executor_poll is called, and only on tasks whose corresponding hyper_waker has been called to indicate they are ready to make progress (for instance, because the OS has indicated there is more data to read or more buffer space available to write).

Deadlock potential: hyper_executor_poll must not be called from within a task’s callback. Doing so will result in a deadlock.

Methods:

  • hyper_executor_new: Creates a new task executor.
  • hyper_executor_push: Push a task onto the executor.
  • hyper_executor_poll: Polls the executor, trying to make progress on any tasks that have notified that they are ready again.
  • hyper_executor_free: Frees an executor and any incomplete tasks still part of it.

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>,

§

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>,

§

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