1mod error;
4mod receiver;
5mod stream;
6mod task;
7mod task_pool;
8mod task_runner;
9mod task_stream;
10mod util;
11
12pub use error::TimeoutError;
13pub use receiver::AsyncReceiver;
14pub use receiver::AsyncStreamReceiver;
15pub use stream::AsyncStream;
16pub use task::AsyncTask;
17pub use task::TimedAsyncTask;
18pub use task_pool::TaskPool;
19pub use task_pool::TimedTaskPool;
20pub use task_runner::TaskRunner;
21pub use task_runner::TimedTaskRunner;
22pub use task_stream::TaskStream;
23pub use util::pending;
24pub use util::sleep;
25pub use util::timeout;
26
27pub const DEFAULT_TIMEOUT: core::time::Duration = core::time::Duration::from_millis(60 * 1000);
29
30pub const MAX_TIMEOUT: core::time::Duration = {
32 static I32_MAX_U64: u64 = 2_147_483_647;
34 core::time::Duration::from_millis(I32_MAX_U64)
35};
36
37#[doc(hidden)]
38pub mod polyfill {
39 use bevy_tasks::ConditionalSend;
40 use bevy_tasks::futures_lite::Stream;
41
42 pub trait ConditionalSendStream: Stream + ConditionalSend {}
45
46 impl<T: Stream + ConditionalSend> ConditionalSendStream for T {}
47}
48
49pub use polyfill::ConditionalSendStream;