1use super::*;
4
5impl Manager {
6 pub async fn send_signal(&self, task_identifier: TaskIdentifier, signal: Signal) -> Result<()> {
7 Self::get_task_mutable(&mut *self.0.write().await, task_identifier)
8 .map(|task| task.signals.send(signal))
9 }
10
11 pub async fn pop_signal(&self, task_identifier: TaskIdentifier) -> Result<Option<Signal>> {
12 Self::get_task_mutable(&mut *self.0.write().await, task_identifier)
13 .map(|task| task.signals.pop())
14 }
15
16 pub async fn peek_signal(&self, task_identifier: TaskIdentifier) -> Result<Option<Signal>> {
17 Self::get_task(&*self.0.read().await, task_identifier).map(|task| task.signals.peek())
18 }
19}