shared/multitap/
pending.rs

1#[derive(Debug)]
2pub struct Pending<EVENT> {
3    event: Option<EVENT>,
4}
5
6impl<EVENT> Default for Pending<EVENT> {
7    fn default() -> Self {
8        Self::new()
9    }
10}
11
12impl<EVENT> Pending<EVENT> {
13    pub fn new() -> Self {
14        Self { event: None }
15    }
16
17    pub fn enqueue(&mut self, event: EVENT) {
18        self.event.replace(event);
19    }
20
21    pub fn dequeue(&mut self) -> Option<EVENT> {
22        self.event.take()
23    }
24}