1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
cfg_target_has_atomic! {
#[cfg(feature = "alloc")]
macro_rules! waker_vtable {
($ty:ident) => {
&RawWakerVTable::new(
clone_arc_raw::<$ty>,
wake_arc_raw::<$ty>,
wake_by_ref_arc_raw::<$ty>,
drop_arc_raw::<$ty>,
)
};
}
#[cfg(feature = "alloc")]
mod arc_wake;
#[cfg(feature = "alloc")]
pub use self::arc_wake::ArcWake;
#[cfg(feature = "alloc")]
mod waker;
#[cfg(feature = "alloc")]
pub use self::waker::waker;
#[cfg(feature = "alloc")]
mod waker_ref;
#[cfg(feature = "alloc")]
pub use self::waker_ref::{waker_ref, WakerRef};
pub use futures_core::task::__internal::AtomicWaker;
}
mod noop_waker;
pub use self::noop_waker::noop_waker;
#[cfg(feature = "std")]
pub use self::noop_waker::noop_waker_ref;
mod spawn;
pub use self::spawn::{SpawnExt, LocalSpawnExt};
#[doc(hidden)]
pub use futures_core::task::{Context, Poll, Waker};