Lines Matching full:queue
11 ($queue:ident) => {
12 $queue.enter(|cx, mut queue| queue.poll_expired(cx))
29 let mut queue = task::spawn(DelayQueue::new()); in single_immediate_delay() localVariable
30 let _key = queue.insert_at("foo", Instant::now()); in single_immediate_delay()
35 assert_ready_some!(poll!(queue)); in single_immediate_delay()
37 let entry = assert_ready!(poll!(queue)); in single_immediate_delay()
45 let mut queue = task::spawn(DelayQueue::new()); in multi_immediate_delays() localVariable
47 let _k = queue.insert_at("1", Instant::now()); in multi_immediate_delays()
48 let _k = queue.insert_at("2", Instant::now()); in multi_immediate_delays()
49 let _k = queue.insert_at("3", Instant::now()); in multi_immediate_delays()
56 let entry = assert_ready_some!(poll!(queue)); in multi_immediate_delays()
60 let entry = assert_ready!(poll!(queue)); in multi_immediate_delays()
74 let mut queue = task::spawn(DelayQueue::new()); in single_short_delay() localVariable
75 let _key = queue.insert_at("foo", Instant::now() + ms(5)); in single_short_delay()
77 assert_pending!(poll!(queue)); in single_short_delay()
81 assert!(!queue.is_woken()); in single_short_delay()
85 assert!(queue.is_woken()); in single_short_delay()
87 let entry = assert_ready_some!(poll!(queue)); in single_short_delay()
90 let entry = assert_ready!(poll!(queue)); in single_short_delay()
101 let mut queue = task::spawn(DelayQueue::new()); in multi_delay_at_start() localVariable
105 let _key = queue.insert_at(i, Instant::now() + ms(i)); in multi_delay_at_start()
108 assert_pending!(poll!(queue)); in multi_delay_at_start()
109 assert!(!queue.is_woken()); in multi_delay_at_start()
118 assert!(queue.is_woken()); in multi_delay_at_start()
119 assert_ready!(poll!(queue)); in multi_delay_at_start()
120 assert_pending!(poll!(queue)); in multi_delay_at_start()
121 } else if queue.is_woken() { in multi_delay_at_start()
130 assert_pending!(poll!(queue)); in multi_delay_at_start()
141 let mut queue = task::spawn(DelayQueue::new()); in insert_in_past_fires_immediately() localVariable
146 queue.insert_at("foo", now); in insert_in_past_fires_immediately()
148 assert_ready!(poll!(queue)); in insert_in_past_fires_immediately()
156 let mut queue = task::spawn(DelayQueue::new()); in remove_entry() localVariable
158 let key = queue.insert_at("foo", Instant::now() + ms(5)); in remove_entry()
160 assert_pending!(poll!(queue)); in remove_entry()
162 let entry = queue.remove(&key); in remove_entry()
167 let entry = assert_ready!(poll!(queue)); in remove_entry()
175 let mut queue = task::spawn(DelayQueue::new()); in reset_entry() localVariable
178 let key = queue.insert_at("foo", now + ms(5)); in reset_entry()
180 assert_pending!(poll!(queue)); in reset_entry()
183 queue.reset_at(&key, now + ms(10)); in reset_entry()
185 assert_pending!(poll!(queue)); in reset_entry()
189 assert!(!queue.is_woken()); in reset_entry()
191 assert_pending!(poll!(queue)); in reset_entry()
195 assert!(queue.is_woken()); in reset_entry()
197 let entry = assert_ready_some!(poll!(queue)); in reset_entry()
200 let entry = assert_ready!(poll!(queue)); in reset_entry()
209 let mut queue = task::spawn(DelayQueue::new()); in reset_much_later() localVariable
214 let key = queue.insert_at("foo", now + ms(200)); in reset_much_later()
215 assert_pending!(poll!(queue)); in reset_much_later()
219 queue.reset_at(&key, now + ms(10)); in reset_much_later()
223 assert!(queue.is_woken()); in reset_much_later()
231 let mut queue = task::spawn(DelayQueue::new()); in reset_twice() localVariable
236 let key = queue.insert_at("foo", now + ms(200)); in reset_twice()
238 assert_pending!(poll!(queue)); in reset_twice()
242 queue.reset_at(&key, now + ms(50)); in reset_twice()
246 queue.reset_at(&key, now + ms(40)); in reset_twice()
250 assert!(queue.is_woken()); in reset_twice()
254 /// that it is placed directly on the expired queue, reset the entry to a
255 /// deadline in the future. Validate that this leaves the entry and queue in an
265 let mut queue = task::spawn(DelayQueue::new()); in repeatedly_reset_entry_inserted_as_expired() localVariable
268 let key = queue.insert_at("foo", now - ms(100)); in repeatedly_reset_entry_inserted_as_expired()
270 queue.reset_at(&key, now + ms(100)); in repeatedly_reset_entry_inserted_as_expired()
271 queue.reset_at(&key, now + ms(50)); in repeatedly_reset_entry_inserted_as_expired()
273 assert_pending!(poll!(queue)); in repeatedly_reset_entry_inserted_as_expired()
277 assert!(queue.is_woken()); in repeatedly_reset_entry_inserted_as_expired()
279 let entry = assert_ready_some!(poll!(queue)).into_inner(); in repeatedly_reset_entry_inserted_as_expired()
282 let entry = assert_ready!(poll!(queue)); in repeatedly_reset_entry_inserted_as_expired()
290 let mut queue = DelayQueue::new(); in remove_expired_item() localVariable
296 let key = queue.insert_at("foo", now); in remove_expired_item()
298 let entry = queue.remove(&key); in remove_expired_item()
310 let mut queue = task::spawn(DelayQueue::new()); in remove_at_timer_wheel_threshold() localVariable
314 let key1 = queue.insert_at("foo", now + ms(64)); in remove_at_timer_wheel_threshold()
315 let key2 = queue.insert_at("bar", now + ms(64)); in remove_at_timer_wheel_threshold()
319 let entry = assert_ready_some!(poll!(queue)).into_inner(); in remove_at_timer_wheel_threshold()
323 let entry = queue.remove(&key2).into_inner(); in remove_at_timer_wheel_threshold()
327 let entry = queue.remove(&key1).into_inner(); in remove_at_timer_wheel_threshold()
338 let mut queue = task::spawn(DelayQueue::new()); in expires_before_last_insert() localVariable
342 queue.insert_at("foo", now + ms(10_000)); in expires_before_last_insert()
345 assert_pending!(poll!(queue)); in expires_before_last_insert()
348 queue.insert_at("bar", now + ms(600)); in expires_before_last_insert()
350 assert_pending!(poll!(queue)); in expires_before_last_insert()
354 assert!(queue.is_woken()); in expires_before_last_insert()
356 let entry = assert_ready_some!(poll!(queue)).into_inner(); in expires_before_last_insert()
364 let mut queue = task::spawn(DelayQueue::new()); in multi_reset() localVariable
368 let one = queue.insert_at("one", now + ms(200)); in multi_reset()
369 let two = queue.insert_at("two", now + ms(250)); in multi_reset()
371 assert_pending!(poll!(queue)); in multi_reset()
373 queue.reset_at(&one, now + ms(300)); in multi_reset()
374 queue.reset_at(&two, now + ms(350)); in multi_reset()
375 queue.reset_at(&one, now + ms(400)); in multi_reset()
379 assert_pending!(poll!(queue)); in multi_reset()
383 let entry = assert_ready_some!(poll!(queue)); in multi_reset()
386 assert_pending!(poll!(queue)); in multi_reset()
390 let entry = assert_ready_some!(poll!(queue)); in multi_reset()
393 let entry = assert_ready!(poll!(queue)); in multi_reset()
401 let mut queue = task::spawn(DelayQueue::new()); in expire_first_key_when_reset_to_expire_earlier() localVariable
405 let one = queue.insert_at("one", now + ms(200)); in expire_first_key_when_reset_to_expire_earlier()
406 queue.insert_at("two", now + ms(250)); in expire_first_key_when_reset_to_expire_earlier()
408 assert_pending!(poll!(queue)); in expire_first_key_when_reset_to_expire_earlier()
410 queue.reset_at(&one, now + ms(100)); in expire_first_key_when_reset_to_expire_earlier()
414 assert!(queue.is_woken()); in expire_first_key_when_reset_to_expire_earlier()
416 let entry = assert_ready_some!(poll!(queue)).into_inner(); in expire_first_key_when_reset_to_expire_earlier()
424 let mut queue = task::spawn(DelayQueue::new()); in expire_second_key_when_reset_to_expire_earlier() localVariable
428 queue.insert_at("one", now + ms(200)); in expire_second_key_when_reset_to_expire_earlier()
429 let two = queue.insert_at("two", now + ms(250)); in expire_second_key_when_reset_to_expire_earlier()
431 assert_pending!(poll!(queue)); in expire_second_key_when_reset_to_expire_earlier()
433 queue.reset_at(&two, now + ms(100)); in expire_second_key_when_reset_to_expire_earlier()
437 assert!(queue.is_woken()); in expire_second_key_when_reset_to_expire_earlier()
439 let entry = assert_ready_some!(poll!(queue)).into_inner(); in expire_second_key_when_reset_to_expire_earlier()
447 let mut queue = task::spawn(DelayQueue::new()); in reset_first_expiring_item_to_expire_later() localVariable
451 let one = queue.insert_at("one", now + ms(200)); in reset_first_expiring_item_to_expire_later()
452 let _two = queue.insert_at("two", now + ms(250)); in reset_first_expiring_item_to_expire_later()
454 assert_pending!(poll!(queue)); in reset_first_expiring_item_to_expire_later()
456 queue.reset_at(&one, now + ms(300)); in reset_first_expiring_item_to_expire_later()
459 assert!(queue.is_woken()); in reset_first_expiring_item_to_expire_later()
461 let entry = assert_ready_some!(poll!(queue)).into_inner(); in reset_first_expiring_item_to_expire_later()
469 let mut queue = task::spawn(DelayQueue::new()); in insert_before_first_after_poll() localVariable
473 let _one = queue.insert_at("one", now + ms(200)); in insert_before_first_after_poll()
475 assert_pending!(poll!(queue)); in insert_before_first_after_poll()
477 let _two = queue.insert_at("two", now + ms(100)); in insert_before_first_after_poll()
481 assert_pending!(poll!(queue)); in insert_before_first_after_poll()
485 assert!(queue.is_woken()); in insert_before_first_after_poll()
487 let entry = assert_ready_some!(poll!(queue)).into_inner(); in insert_before_first_after_poll()
495 let mut queue = task::spawn(DelayQueue::new()); in insert_after_ready_poll() localVariable
499 queue.insert_at("1", now + ms(100)); in insert_after_ready_poll()
500 queue.insert_at("2", now + ms(100)); in insert_after_ready_poll()
501 queue.insert_at("3", now + ms(100)); in insert_after_ready_poll()
503 assert_pending!(poll!(queue)); in insert_after_ready_poll()
507 assert!(queue.is_woken()); in insert_after_ready_poll()
512 let entry = assert_ready_some!(poll!(queue)); in insert_after_ready_poll()
514 queue.insert_at("foo", now + ms(500)); in insert_after_ready_poll()
528 let mut queue = task::spawn(DelayQueue::new()); in reset_later_after_slot_starts() localVariable
532 let foo = queue.insert_at("foo", now + ms(100)); in reset_later_after_slot_starts()
534 assert_pending!(poll!(queue)); in reset_later_after_slot_starts()
538 assert!(!queue.is_woken()); in reset_later_after_slot_starts()
540 // At this point the queue hasn't been polled, so `elapsed` on the wheel in reset_later_after_slot_starts()
541 // for the queue is still at 0 and hence the 1ms resolution slots cover in reset_later_after_slot_starts()
543 // the [64-128) slot. As the queue knows that the first entry is within in reset_later_after_slot_starts()
546 queue.reset_at(&foo, now + ms(120)); in reset_later_after_slot_starts()
547 assert!(queue.is_woken()); in reset_later_after_slot_starts()
549 assert_pending!(poll!(queue)); in reset_later_after_slot_starts()
552 assert!(!queue.is_woken()); in reset_later_after_slot_starts()
555 assert!(queue.is_woken()); in reset_later_after_slot_starts()
557 let entry = assert_ready_some!(poll!(queue)).into_inner(); in reset_later_after_slot_starts()
568 let mut queue = task::spawn(DelayQueue::new()); in reset_inserted_expired() localVariable
571 let key = queue.insert_at("foo", now - ms(100)); in reset_inserted_expired()
574 queue.reset_at(&key, now + ms(100)); in reset_inserted_expired()
576 assert_eq!(1, queue.len()); in reset_inserted_expired()
580 let entry = assert_ready_some!(poll!(queue)).into_inner(); in reset_inserted_expired()
583 assert_eq!(queue.len(), 0); in reset_inserted_expired()
590 let mut queue = task::spawn(DelayQueue::new()); in reset_earlier_after_slot_starts() localVariable
594 let foo = queue.insert_at("foo", now + ms(200)); in reset_earlier_after_slot_starts()
596 assert_pending!(poll!(queue)); in reset_earlier_after_slot_starts()
600 assert!(!queue.is_woken()); in reset_earlier_after_slot_starts()
602 // At this point the queue hasn't been polled, so `elapsed` on the wheel in reset_earlier_after_slot_starts()
603 // for the queue is still at 0 and hence the 1ms resolution slots cover in reset_earlier_after_slot_starts()
605 // the [64-128) slot. As the queue knows that the first entry is within in reset_earlier_after_slot_starts()
608 queue.reset_at(&foo, now + ms(120)); in reset_earlier_after_slot_starts()
609 assert!(queue.is_woken()); in reset_earlier_after_slot_starts()
611 assert_pending!(poll!(queue)); in reset_earlier_after_slot_starts()
614 assert!(!queue.is_woken()); in reset_earlier_after_slot_starts()
617 assert!(queue.is_woken()); in reset_earlier_after_slot_starts()
619 let entry = assert_ready_some!(poll!(queue)).into_inner(); in reset_earlier_after_slot_starts()
627 let mut queue = task::spawn(DelayQueue::new()); in insert_in_past_after_poll_fires_immediately() localVariable
631 queue.insert_at("foo", now + ms(200)); in insert_in_past_after_poll_fires_immediately()
633 assert_pending!(poll!(queue)); in insert_in_past_after_poll_fires_immediately()
637 assert!(!queue.is_woken()); in insert_in_past_after_poll_fires_immediately()
638 queue.insert_at("bar", now + ms(40)); in insert_in_past_after_poll_fires_immediately()
640 assert!(queue.is_woken()); in insert_in_past_after_poll_fires_immediately()
642 let entry = assert_ready_some!(poll!(queue)).into_inner(); in insert_in_past_after_poll_fires_immediately()
658 let mut queue = task::spawn(DelayQueue::new()); in compact_expire_empty() localVariable
662 queue.insert_at("foo1", now + ms(10)); in compact_expire_empty()
663 queue.insert_at("foo2", now + ms(10)); in compact_expire_empty()
669 let entry = assert_ready_some!(poll!(queue)); in compact_expire_empty()
673 queue.compact(); in compact_expire_empty()
675 assert_eq!(queue.len(), 0); in compact_expire_empty()
676 assert_eq!(queue.capacity(), 0); in compact_expire_empty()
681 let mut queue = task::spawn(DelayQueue::new()); in compact_remove_empty() localVariable
685 let key1 = queue.insert_at("foo1", now + ms(10)); in compact_remove_empty()
686 let key2 = queue.insert_at("foo2", now + ms(10)); in compact_remove_empty()
688 queue.remove(&key1); in compact_remove_empty()
689 queue.remove(&key2); in compact_remove_empty()
691 queue.compact(); in compact_remove_empty()
693 assert_eq!(queue.len(), 0); in compact_remove_empty()
694 assert_eq!(queue.capacity(), 0); in compact_remove_empty()
701 let mut queue = task::spawn(DelayQueue::new()); in compact_remove_remapped_keys() localVariable
705 queue.insert_at("foo1", now + ms(10)); in compact_remove_remapped_keys()
706 queue.insert_at("foo2", now + ms(10)); in compact_remove_remapped_keys()
709 let key3 = queue.insert_at("foo3", now + ms(20)); in compact_remove_remapped_keys()
710 let key4 = queue.insert_at("foo4", now + ms(20)); in compact_remove_remapped_keys()
716 let entry = assert_ready_some!(poll!(queue)); in compact_remove_remapped_keys()
722 queue.compact(); in compact_remove_remapped_keys()
724 queue.insert_at("foo5", now + ms(10)); in compact_remove_remapped_keys()
727 let expired3 = queue.remove(&key3); in compact_remove_remapped_keys()
728 let expired4 = queue.remove(&key4); in compact_remove_remapped_keys()
733 queue.compact(); in compact_remove_remapped_keys()
734 assert_eq!(queue.len(), 1); in compact_remove_remapped_keys()
735 assert_eq!(queue.capacity(), 1); in compact_remove_remapped_keys()
740 let mut queue = task::spawn(DelayQueue::new()); in compact_change_deadline() localVariable
744 queue.insert_at("foo1", now + ms(10)); in compact_change_deadline()
745 queue.insert_at("foo2", now + ms(10)); in compact_change_deadline()
748 queue.insert_at("foo3", now + ms(20)); in compact_change_deadline()
749 let key4 = queue.insert_at("foo4", now + ms(20)); in compact_change_deadline()
755 let entry = assert_ready_some!(poll!(queue)); in compact_change_deadline()
761 queue.compact(); in compact_change_deadline()
765 queue.insert_at("foo5", now + ms(10)); in compact_change_deadline()
766 let key6 = queue.insert_at("foo6", now + ms(10)); in compact_change_deadline()
768 queue.reset_at(&key4, now + ms(20)); in compact_change_deadline()
769 queue.reset_at(&key6, now + ms(20)); in compact_change_deadline()
775 let entry = assert_ready_some!(poll!(queue)); in compact_change_deadline()
782 let entry = assert_ready_some!(poll!(queue)); in compact_change_deadline()
786 let entry = assert_ready!(poll!(queue)); in compact_change_deadline()
792 …// This function tests that a delay queue that has existed for at least 2^36 milliseconds won't pa… in item_expiry_greater_than_wheel()
793 let mut queue = DelayQueue::new(); in item_expiry_greater_than_wheel() localVariable
796 queue.insert(0, Duration::from_millis(0)); in item_expiry_greater_than_wheel()
797 queue.next().await; in item_expiry_greater_than_wheel()
801 queue.insert(1, Duration::from_millis(1)); in item_expiry_greater_than_wheel()
810 let mut queue = DelayQueue::new(); in remove_after_compact() localVariable
812 let foo_key = queue.insert_at("foo", now + ms(10)); in remove_after_compact()
813 queue.insert_at("bar", now + ms(20)); in remove_after_compact()
814 queue.remove(&foo_key); in remove_after_compact()
815 queue.compact(); in remove_after_compact()
818 queue.remove(&foo_key); in remove_after_compact()
827 let mut queue = task::spawn(DelayQueue::new()); in remove_after_compact_poll() localVariable
829 let foo_key = queue.insert_at("foo", now + ms(10)); in remove_after_compact_poll()
830 queue.insert_at("bar", now + ms(20)); in remove_after_compact_poll()
833 assert_eq!(assert_ready_some!(poll!(queue)).key(), foo_key); in remove_after_compact_poll()
835 queue.compact(); in remove_after_compact_poll()
838 queue.remove(&foo_key); in remove_after_compact_poll()
845 let mut queue = task::spawn(DelayQueue::new()); in peek() localVariable
849 let key = queue.insert_at("foo", now + ms(5)); in peek()
850 let key2 = queue.insert_at("bar", now); in peek()
851 let key3 = queue.insert_at("baz", now + ms(10)); in peek()
853 assert_eq!(queue.peek(), Some(key2)); in peek()
857 assert_eq!(queue.peek(), Some(key2)); in peek()
859 let entry = assert_ready_some!(poll!(queue)); in peek()
862 assert_eq!(queue.peek(), Some(key)); in peek()
864 let entry = assert_ready_some!(poll!(queue)); in peek()
867 assert_eq!(queue.peek(), Some(key3)); in peek()
869 assert_pending!(poll!(queue)); in peek()
873 assert_eq!(queue.peek(), Some(key3)); in peek()
875 let entry = assert_ready_some!(poll!(queue)); in peek()
878 assert!(queue.peek().is_none()); in peek()