pub struct BandWorker { /* private fields */ }Expand description
phase-509 P9b item 2 (RFC-0108 “As built in P9b”) – a worker of one band
over an executor it shares with other workers: the record its own thread
owns and hands to Executor::spin_band_once.
A band pass runs only the band’s callbacks, and credits the band’s timers
with the time since this worker’s own previous pass, so two workers never
split one timer’s elapsed time between them. With a BandWaiter
(item 3) it parks on its own wake object until its band’s next timer is
due or an arrival in its band signals it.
Implementations§
Source§impl BandWorker
impl BandWorker
Sourcepub const fn new(level: u8, band: Band) -> Self
pub const fn new(level: u8, band: Band) -> Self
The worker of band at image level level, polling (no park).
Sourcepub const fn with_waiter(self, waiter: &'static BandWaiter) -> Self
pub const fn with_waiter(self, waiter: &'static BandWaiter) -> Self
The same worker, parking on waiter (phase-509 P9b item 3). Attach
it to the executor (Executor::attach_band_worker)
so its band’s arrivals signal it.
Trait Implementations§
Source§impl Clone for BandWorker
impl Clone for BandWorker
Source§fn clone(&self) -> BandWorker
fn clone(&self) -> BandWorker
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for BandWorker
Auto Trait Implementations§
impl Freeze for BandWorker
impl RefUnwindSafe for BandWorker
impl Send for BandWorker
impl Sync for BandWorker
impl Unpin for BandWorker
impl UnsafeUnpin for BandWorker
impl UnwindSafe for BandWorker
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