MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / enqueue_and_drain

Function enqueue_and_drain

nodedb/src/event/trigger/retry.rs:189–202  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

187
188 #[test]
189 fn enqueue_and_drain() {
190 let mut q = TriggerRetryQueue::new();
191 let mut entry = make_entry("t1");
192 entry.next_retry_at = Instant::now() - Duration::from_secs(1); // already due
193 q.enqueue(entry);
194
195 // Wait a tiny bit for backoff (100ms for attempt 1).
196 std::thread::sleep(Duration::from_millis(110));
197
198 let (ready, exhausted) = q.drain_due();
199 assert_eq!(ready.len(), 1);
200 assert!(exhausted.is_empty());
201 assert_eq!(ready[0].attempts, 1);
202 }
203
204 #[test]
205 fn exhausted_after_max_retries() {

Callers

nothing calls this directly

Calls 4

nowFunction · 0.85
make_entryFunction · 0.70
enqueueMethod · 0.45
drain_dueMethod · 0.45

Tested by

no test coverage detected