Skip to main content

SchedulerConfig

Struct SchedulerConfig 

Source
pub struct SchedulerConfig {
    pub policy: SchedulePolicy,
    pub clock: ClockMode,
    pub default_channel_capacity: usize,
    pub preempt_every: u32,
    pub workers: usize,
}
Expand description

All scheduler knobs, bundled. Has a Default and fluent setters so it is easy to annotate while still having a sensible baseline.

Fields§

§policy: SchedulePolicy

Ready-task selection discipline (default Fifo).

§clock: ClockMode

Clock mode (default Logical).

§default_channel_capacity: usize

Default capacity for channels created without an explicit one (default 32 — matches the AOT mpsc default).

§preempt_every: u32

Cooperative yield interval, in scheduler steps (default 10_000).

§workers: usize

M:N worker count; 1 = cooperative single-thread (default 1).

Implementations§

Source§

impl SchedulerConfig

Source

pub fn with_policy(self, policy: SchedulePolicy) -> Self

Set the scheduling policy.

Source

pub fn with_clock(self, clock: ClockMode) -> Self

Set the clock mode.

Source

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

Set the default channel capacity.

Source

pub fn with_workers(self, workers: usize) -> Self

Set the worker count (M:N).

Trait Implementations§

Source§

impl Clone for SchedulerConfig

Source§

fn clone(&self) -> SchedulerConfig

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 SchedulerConfig

Source§

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

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

impl Default for SchedulerConfig

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl PartialEq for SchedulerConfig

Source§

fn eq(&self, other: &SchedulerConfig) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for SchedulerConfig

Source§

impl Eq for SchedulerConfig

Source§

impl StructuralPartialEq for SchedulerConfig

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