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}