karyon_core/async_runtime/
mod.rs

1mod executor;
2pub mod io;
3pub mod lock;
4pub mod net;
5mod spawn;
6mod task;
7mod timer;
8
9pub use executor::{global_executor, Executor};
10pub use spawn::spawn;
11pub use task::Task;
12
13#[cfg(test)]
14pub fn block_on<T>(future: impl std::future::Future<Output = T>) -> T {
15    #[cfg(feature = "smol")]
16    let result = smol::block_on(future);
17    #[cfg(feature = "tokio")]
18    let result = tokio::runtime::Builder::new_current_thread()
19        .enable_all()
20        .build()
21        .unwrap()
22        .block_on(future);
23
24    result
25}