Skip to main content

CallQueue

Struct CallQueue 

Source
pub struct CallQueue { /* private fields */ }

Implementations§

Source§

impl CallQueue

Source

pub fn start<F>(host: Host, opts: QueueOptions, work: F) -> CallQueue
where F: Fn(&ConcludedCall) -> Attempt + Send + Sync + 'static,

Start opts.threads workers running work on each call pushed — and on calls saved by the last shutdown, first.

Source

pub fn start_by<L, F>( host: Host, opts: QueueOptions, lane: L, work: F, ) -> CallQueue
where L: Fn(&ConcludedCall) -> String + Send + Sync + 'static, F: Fn(&ConcludedCall) -> Attempt + Send + Sync + 'static,

start, with each call put in the lane lane names (the server it goes to, say): each lane has opts.threads workers of its own, and its own retries and endpoint status. Calls saved by the last shutdown are put in the lane lane names for them now.

Source

pub fn push(&self, call: ConcludedCall)

Source

pub fn len(&self) -> usize

Calls queued or being worked on.

Source

pub fn is_empty(&self) -> bool

Source

pub fn shutdown(&mut self, grace: Duration)

Work what’s ready until grace is nearly up; save the rest (or fail it). Call it from crate::Plugin::shutdown; calls pushed after it are refused.

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

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

fn try_from(value: U) -> Result<T, !>

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.