karyon_core/async_runtime/
mod.rs1mod 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}