Skip to main content

ExecutionServicesBuilder

Struct ExecutionServicesBuilder 

Source
pub struct ExecutionServicesBuilder { /* private fields */ }
Expand description

Builder for ExecutionServices.

The builder exposes blocking-pool options by delegating to BlockingExecutorServiceBuilder and CPU-pool options by delegating to RayonExecutorServiceBuilder. Tokio-backed domains are created with their default constructors because they do not currently expose custom builders.

Implementations§

Source§

impl ExecutionServicesBuilder

Source

pub fn blocking_pool_size(self, pool_size: usize) -> Self

Sets both the blocking core and maximum pool sizes to the same value.

§Parameters
  • pool_size - Pool size applied as both core and maximum limits.
§Returns

This builder for fluent configuration.

Source

pub fn blocking_core_pool_size(self, core_pool_size: usize) -> Self

Sets the blocking core pool size.

§Parameters
  • core_pool_size - Core pool size for the blocking domain.
§Returns

This builder for fluent configuration.

Source

pub fn blocking_maximum_pool_size(self, maximum_pool_size: usize) -> Self

Sets the blocking maximum pool size.

§Parameters
  • maximum_pool_size - Maximum pool size for the blocking domain.
§Returns

This builder for fluent configuration.

Source

pub fn blocking_queue_capacity(self, capacity: usize) -> Self

Sets a bounded queue capacity for the blocking domain.

§Parameters
  • capacity - Maximum number of queued blocking tasks.
§Returns

This builder for fluent configuration.

Source

pub fn blocking_unbounded_queue(self) -> Self

Configures the blocking domain to use an unbounded queue.

§Returns

This builder for fluent configuration.

Source

pub fn blocking_thread_name_prefix(self, prefix: &str) -> Self

Sets the blocking worker-thread name prefix.

§Parameters
  • prefix - Prefix appended with the worker index.
§Returns

This builder for fluent configuration.

Source

pub fn blocking_stack_size(self, stack_size: usize) -> Self

Sets the blocking worker-thread stack size.

§Parameters
  • stack_size - Stack size in bytes for each blocking worker.
§Returns

This builder for fluent configuration.

Source

pub fn blocking_keep_alive(self, keep_alive: Duration) -> Self

Sets the blocking worker keep-alive timeout.

§Parameters
  • keep_alive - Idle timeout for blocking workers allowed to retire.
§Returns

This builder for fluent configuration.

Source

pub fn blocking_allow_core_thread_timeout(self, allow: bool) -> Self

Allows blocking core workers to retire after keep-alive timeout.

§Parameters
  • allow - Whether idle blocking core workers may time out.
§Returns

This builder for fluent configuration.

Source

pub fn blocking_prestart_core_threads(self) -> Self

Starts all blocking core workers during build.

§Returns

This builder for fluent configuration.

Source

pub fn cpu_threads(self, num_threads: usize) -> Self

Sets the number of Rayon worker threads in the CPU domain.

§Parameters
  • num_threads - Number of Rayon worker threads.
§Returns

This builder for fluent configuration.

Source

pub fn cpu_thread_name_prefix(self, prefix: &str) -> Self

Sets the Rayon worker-thread name prefix in the CPU domain.

§Parameters
  • prefix - Prefix appended with the worker index.
§Returns

This builder for fluent configuration.

Source

pub fn cpu_stack_size(self, stack_size: usize) -> Self

Sets the Rayon worker-thread stack size in the CPU domain.

§Parameters
  • stack_size - Stack size in bytes for each Rayon worker.
§Returns

This builder for fluent configuration.

Source

pub fn build(self) -> Result<ExecutionServices, ExecutionServicesBuildError>

Builds the configured execution-services facade.

§Returns

Ok(ExecutionServices) if the blocking and CPU domains build successfully.

§Errors

Returns ExecutionServicesBuildError if either the blocking or CPU domain rejects its builder configuration.

Trait Implementations§

Source§

impl Clone for ExecutionServicesBuilder

Source§

fn clone(&self) -> ExecutionServicesBuilder

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ExecutionServicesBuilder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ExecutionServicesBuilder

Source§

fn default() -> Self

Creates a builder with CPU-parallelism defaults.

§Returns

A builder configured with available parallelism for both blocking and CPU domains.

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DropFlavorWrapper<T> for T

Source§

type Flavor = MayDrop

The DropFlavor that wraps T into Self
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

Source§

const WITNESS: W = W::MAKE

A constant of the type witness
Source§

impl<T> Identity for T
where T: ?Sized,

Source§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
Source§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
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
Source§

impl<T> IntoResult<T> for T

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

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

Initializes a with the given initializer. Read more
Source§

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

Dereferences the given pointer. Read more
Source§

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

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. 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.