pub struct Target {
pub interval: Option<Interval>,
pub fence: Option<Box<dyn Fn(Arc<Barrier>) + Send + 'static>>,
}
Expand description
Represents a single clock target
Don’t construct this object manually, get a mutable builder
reference from Clockctrl::setup()
!
Fields§
§interval: Option<Interval>
Specify an interval which dictates scheduling of a task
fence: Option<Box<dyn Fn(Arc<Barrier>) + Send + 'static>>
If Interval::Stepped, provide a fence to step the clock with
Implementations§
Source§impl Target
impl Target
Sourcepub fn set(&mut self, iv: Interval) -> &mut Self
pub fn set(&mut self, iv: Interval) -> &mut Self
Set the interval at which this clock will be controlled
Sourcepub fn fence<F>(&mut self, f: F) -> &mut Self
pub fn fence<F>(&mut self, f: F) -> &mut Self
Setup a fence which will clock control the associated task
The provided function is called once, on a detached task, and is expected to block the task with block_on, which can then do async operation.
clc
.setup(MyTasks::TaskA)
.set(Interval::Stepped)
.fence(|b| {
task::block_on(async move {
b.wait().await;
});
});
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Target
impl !RefUnwindSafe for Target
impl Send for Target
impl !Sync for Target
impl Unpin for Target
impl !UnwindSafe for Target
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