• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 cfg_io_driver! {
2     pub(crate) mod bit;
3 }
4 
5 #[cfg(feature = "rt")]
6 pub(crate) mod atomic_cell;
7 
8 #[cfg(any(feature = "rt", feature = "signal", feature = "process"))]
9 pub(crate) mod once_cell;
10 
11 #[cfg(any(
12     // io driver uses `WakeList` directly
13     feature = "net",
14     feature = "process",
15     // `sync` enables `Notify` and `batch_semaphore`, which require `WakeList`.
16     feature = "sync",
17     // `fs` uses `batch_semaphore`, which requires `WakeList`.
18     feature = "fs",
19     // rt and signal use `Notify`, which requires `WakeList`.
20     feature = "rt",
21     feature = "signal",
22 ))]
23 mod wake_list;
24 #[cfg(any(
25     feature = "net",
26     feature = "process",
27     feature = "sync",
28     feature = "fs",
29     feature = "rt",
30     feature = "signal",
31 ))]
32 pub(crate) use wake_list::WakeList;
33 
34 #[cfg(any(
35     feature = "fs",
36     feature = "net",
37     feature = "process",
38     feature = "rt",
39     feature = "sync",
40     feature = "signal",
41     feature = "time",
42 ))]
43 pub(crate) mod linked_list;
44 
45 #[cfg(any(feature = "rt", feature = "macros"))]
46 pub(crate) mod rand;
47 
48 cfg_rt! {
49     mod idle_notified_set;
50     pub(crate) use idle_notified_set::IdleNotifiedSet;
51 
52     pub(crate) use self::rand::RngSeedGenerator;
53 
54     mod wake;
55     pub(crate) use wake::WakerRef;
56     pub(crate) use wake::{waker_ref, Wake};
57 
58     mod sync_wrapper;
59     pub(crate) use sync_wrapper::SyncWrapper;
60 
61     mod rc_cell;
62     pub(crate) use rc_cell::RcCell;
63 }
64 
65 cfg_rt_multi_thread! {
66     mod try_lock;
67     pub(crate) use try_lock::TryLock;
68 }
69 
70 pub(crate) mod trace;
71 
72 pub(crate) mod error;
73 
74 #[cfg(feature = "io-util")]
75 pub(crate) mod memchr;
76 
77 pub(crate) mod markers;
78 
79 pub(crate) mod cacheline;
80