From 0133bc188327c19ef0834904c46218a0dad58845 Mon Sep 17 00:00:00 2001 From: Ruben De Smet Date: Sun, 22 Dec 2019 03:18:49 +0100 Subject: [PATCH] time: DelayQueue::len() (#1755) --- tokio/src/time/delay_queue.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tokio/src/time/delay_queue.rs b/tokio/src/time/delay_queue.rs index 9e69bd3ee..80e850a72 100644 --- a/tokio/src/time/delay_queue.rs +++ b/tokio/src/time/delay_queue.rs @@ -611,6 +611,26 @@ impl DelayQueue { self.slab.capacity() } + /// Returns the number of elements currently in the queue. + /// + /// # Examples + /// + /// ```rust + /// use tokio::time::DelayQueue; + /// use std::time::Duration; + /// + /// # #[tokio::main] + /// # async fn main() { + /// let mut delay_queue: DelayQueue = DelayQueue::with_capacity(10); + /// assert_eq!(delay_queue.len(), 0); + /// delay_queue.insert(3, Duration::from_secs(5)); + /// assert_eq!(delay_queue.len(), 1); + /// # } + /// ``` + pub fn len(&self) -> usize { + self.slab.len() + } + /// Reserve capacity for at least `additional` more items to be queued /// without allocating. ///