diff --git a/src/tokio/named_task.rs b/src/tokio/named_task.rs index 4ad44de..65abaaa 100644 --- a/src/tokio/named_task.rs +++ b/src/tokio/named_task.rs @@ -8,20 +8,24 @@ use tokio::task::JoinError; /// This enables a parent task to await all children simultaneously but still /// determine what child has exited for logging/diagnosis purposes. #[derive(Debug)] -pub struct NamedTask +pub struct NamedTask where - Id: Clone + Unpin, + Name: Clone + Unpin, { task: Pin>>, - id: Id, + name: Name, } -impl NamedTask +impl NamedTask where - I: Clone + Unpin, + Name: Clone + Unpin, { - pub fn new(task: tokio::task::JoinHandle, id: I) -> Self { - NamedTask { task: Box::pin(task), id } + pub fn new(task: tokio::task::JoinHandle, name: Name) -> Self { + NamedTask { task: Box::pin(task), name } + } + + pub fn name(&self) -> &Name { + &self.name } } @@ -35,6 +39,6 @@ where mut self: Pin<&mut Self>, cx: &mut std::task::Context<'_>, ) -> std::task::Poll { - self.task.as_mut().poll(cx).map(|v| (self.id.clone(), v)) + self.task.as_mut().poll(cx).map(|v| (self.name.clone(), v)) } }