initial state vector implementation
This commit is contained in:
@@ -29,6 +29,17 @@ pub trait CyclicTask {
|
||||
fn step(&mut self, receiver: &Receiver<Self::Message>, step_time: Instant);
|
||||
}
|
||||
|
||||
impl<F> CyclicTask for F
|
||||
where
|
||||
F: Fn() -> (),
|
||||
{
|
||||
type Message = ();
|
||||
|
||||
fn step(&mut self, _receiver: &Receiver<Self::Message>, _step_time: Instant) {
|
||||
self();
|
||||
}
|
||||
}
|
||||
|
||||
pub struct Scheduler<'s, 'e>
|
||||
{
|
||||
scope: &'s Scope<'s, 'e>,
|
||||
@@ -84,11 +95,11 @@ impl<'s, 'e> Scheduler<'s, 'e> {
|
||||
mut task: T,
|
||||
frequency: u64,
|
||||
) -> Result<TaskHandle<T::Message>> where
|
||||
T: CyclicTask + Send + Debug + 's,
|
||||
T: CyclicTask + Send + 's,
|
||||
T::Message: Send,
|
||||
{
|
||||
let name = name.into();
|
||||
trace!("Scheduler::run_cyclic(name: {name}, task: {task:?}, frequency: {frequency})");
|
||||
trace!("Scheduler::run_cyclic(name: {name}, task, frequency: {frequency})");
|
||||
let running = self.running.clone();
|
||||
let (sender, receiver) = channel::<T::Message>();
|
||||
let _ = thread::Builder::new()
|
||||
|
||||
Reference in New Issue
Block a user