pub struct Pools { /* private fields */ }Expand description
Handle to the runtime’s thread pools.
Wraps two rayon ThreadPool instances for workload isolation
and an optional tokio Runtime for async I/O.
When async_threads is 0 in the config, no tokio runtime is created.
Calling spawn(), block_on(), or handle() without a tokio runtime
will panic.
Implementations§
Source§impl Pools
impl Pools
Sourcepub fn new(config: PoolConfig) -> Self
pub fn new(config: PoolConfig) -> Self
Create all thread pools from the given configuration.
If async_threads is 0, no tokio runtime is created.
Sourcepub fn system_pool(&self) -> &Arc<ThreadPool>
pub fn system_pool(&self) -> &Arc<ThreadPool>
Get a reference to the system rayon pool.
Sourcepub fn query_pool(&self) -> &Arc<ThreadPool>
pub fn query_pool(&self) -> &Arc<ThreadPool>
Get a reference to the query rayon pool.
Sourcepub fn spawn<F>(&self, future: F) -> JoinHandle<F::Output>
pub fn spawn<F>(&self, future: F) -> JoinHandle<F::Output>
Spawn a future onto the tokio runtime.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Pools
impl !RefUnwindSafe for Pools
impl Send for Pools
impl Sync for Pools
impl Unpin for Pools
impl UnsafeUnpin for Pools
impl !UnwindSafe for Pools
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more