mod tokio;
use ::tokio::runtime::Handle;
use crate::tracing::init_tracing;
pub use crate::tasks::tokio::mpsc;
pub use crate::tasks::tokio::oneshot;
pub use crate::tasks::tokio::sleep;
pub use crate::tasks::tokio::timeout;
pub use crate::tasks::tokio::watch;
pub use crate::tasks::tokio::CancellationToken;
pub use crate::tasks::tokio::{spawn, spawn_blocking, task_id, JoinHandle, Runtime};
pub use crate::tasks::tokio::{BroadcastStream, ReceiverStream};
use std::future::Future;
pub fn run<F: Future>(future: F) -> F::Output {
init_tracing();
let rt = Runtime::new().unwrap();
rt.block_on(future)
}
pub fn block_on<F: Future>(future: F) -> F::Output {
Handle::current().block_on(future)
}
pub use crate::tasks::tokio::ctrl_c;