use crate::{
event,
stream::{recv, send},
};
use bach::{ext::*, time::timeout};
pub use bach::runtime::Handle;
impl<Sub> super::Handle<Sub> for Handle
where
Sub: event::Subscriber,
{
#[inline]
fn spawn_recv_shutdown(&self, shutdown: recv::application::Shutdown<Sub>) {
self.spawn(
async move {
timeout(core::time::Duration::from_secs(1), shutdown).await
}
.primary(),
);
}
#[inline]
fn spawn_send_shutdown(&self, shutdown: send::application::Shutdown<Sub>) {
self.spawn(
async move {
timeout(core::time::Duration::from_secs(1), shutdown).await
}
.primary(),
);
}
}