pub struct BlockingPool { /* private fields */ }Expand description
A bounded blocking thread pool
Implementations§
Source§impl BlockingPool
impl BlockingPool
Sourcepub fn new(config: BlockingPoolConfig) -> Self
pub fn new(config: BlockingPoolConfig) -> Self
Create a new blocking pool
Sourcepub fn try_submit<F>(&self, task: F) -> Result<(), BlockingPoolError>
pub fn try_submit<F>(&self, task: F) -> Result<(), BlockingPoolError>
Submit a task to the pool
Returns Err if the queue is full (backpressure)
Sourcepub fn submit<F>(&self, task: F) -> Result<(), BlockingPoolError>
pub fn submit<F>(&self, task: F) -> Result<(), BlockingPoolError>
Submit a task and block until queue has space
Sourcepub fn metrics(&self) -> &PoolMetrics
pub fn metrics(&self) -> &PoolMetrics
Get pool metrics
Trait Implementations§
Auto Trait Implementations§
impl Freeze for BlockingPool
impl !RefUnwindSafe for BlockingPool
impl Send for BlockingPool
impl Sync for BlockingPool
impl Unpin for BlockingPool
impl UnsafeUnpin for BlockingPool
impl !UnwindSafe for BlockingPool
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request