From 21072bee48ff6ec19b79e0d9527ad8cc34a4e9e0 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Mon, 22 Aug 2022 21:46:09 +0200 Subject: split `embassy-util` into `embassy-futures`, `embassy-sync`. --- embassy-util/src/waitqueue/multi_waker.rs | 33 ------------------------------- 1 file changed, 33 deletions(-) delete mode 100644 embassy-util/src/waitqueue/multi_waker.rs (limited to 'embassy-util/src/waitqueue/multi_waker.rs') diff --git a/embassy-util/src/waitqueue/multi_waker.rs b/embassy-util/src/waitqueue/multi_waker.rs deleted file mode 100644 index 325d2cb3a..000000000 --- a/embassy-util/src/waitqueue/multi_waker.rs +++ /dev/null @@ -1,33 +0,0 @@ -use core::task::Waker; - -use super::WakerRegistration; - -/// Utility struct to register and wake multiple wakers. -pub struct MultiWakerRegistration { - wakers: [WakerRegistration; N], -} - -impl MultiWakerRegistration { - /// Create a new empty instance - pub const fn new() -> Self { - const WAKER: WakerRegistration = WakerRegistration::new(); - Self { wakers: [WAKER; N] } - } - - /// Register a waker. If the buffer is full the function returns it in the error - pub fn register<'a>(&mut self, w: &'a Waker) -> Result<(), &'a Waker> { - if let Some(waker_slot) = self.wakers.iter_mut().find(|waker_slot| !waker_slot.occupied()) { - waker_slot.register(w); - Ok(()) - } else { - Err(w) - } - } - - /// Wake all registered wakers. This clears the buffer - pub fn wake(&mut self) { - for waker_slot in self.wakers.iter_mut() { - waker_slot.wake() - } - } -} -- cgit