MCPcopy Create free account
hub / github.com/Botloader/botloader / trigger_timers

Method trigger_timers

components/scheduler/src/interval_timer_manager.rs:66–84  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

64 }
65
66 pub async fn trigger_timers(&mut self) -> Vec<IntervalTimer> {
67 let next_time = if let Some(next) = self.next_event_time() {
68 next
69 } else {
70 return Vec::new();
71 };
72
73 let now = Utc::now();
74 if now > next_time {
75 // we need to trigger some timers
76 let triggered = self.get_triggered_timers(now);
77 for t in &triggered {
78 self.pending.push(t.inner.clone())
79 }
80 triggered.into_iter().map(|v| v.inner).collect()
81 } else {
82 Vec::new()
83 }
84 }
85
86 pub async fn timer_ack(&mut self, timer_id: &TimerId) {
87 if let Some(index) = self

Callers 1

handle_next_actionMethod · 0.80

Calls 2

next_event_timeMethod · 0.80
get_triggered_timersMethod · 0.80

Tested by

no test coverage detected