1pub mod assembly_buffer;
25pub mod async_locks;
26pub mod async_peek_stream;
27pub mod clone_stream;
28pub mod deferred_stream_processor;
29pub mod event_bus;
30pub mod eventual;
31pub mod eventual_base;
32pub mod eventual_value;
33pub mod eventual_value_clone;
34pub mod future_queue;
35pub mod hash_atom;
36pub mod interval;
37pub mod ip_addr_port;
38pub mod ip_extra;
39pub mod ipc;
40pub mod log_unwrap;
41pub mod must_join_handle;
42pub mod must_join_single_future;
43pub mod mutable_future;
44pub mod network_interfaces;
45pub mod network_result;
46pub mod pin;
47pub mod random;
48pub mod raw_timestamp;
49pub mod resolver;
50pub mod single_shot_eventual;
51pub mod sleep;
52#[cfg(not(all(target_arch = "wasm32", target_os = "unknown")))]
53pub mod socket_tools;
54pub mod spawn;
55pub mod split_url;
56pub mod startup_lock;
57pub mod static_string_table;
58pub mod tick_task;
59pub mod timeout;
60pub mod timeout_or;
61pub mod tools;
62pub mod trim_backtrace;
63#[cfg(feature = "virtual-network")]
64pub mod virtual_network;
65#[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
66pub mod wasm_tools;
67
68#[doc(no_inline)]
72pub use std::borrow::{Cow, ToOwned};
73#[doc(no_inline)]
74pub use std::boxed::Box;
75#[doc(no_inline)]
76pub use std::cell::RefCell;
77#[doc(no_inline)]
78pub use std::cmp;
79#[doc(no_inline)]
80pub use std::collections::btree_map::BTreeMap;
81#[doc(no_inline)]
82pub use std::collections::btree_set::BTreeSet;
83#[doc(no_inline)]
84pub use std::collections::hash_map::HashMap;
85#[doc(no_inline)]
86pub use std::collections::hash_set::HashSet;
87#[doc(no_inline)]
88pub use std::collections::LinkedList;
89#[doc(no_inline)]
90pub use std::collections::VecDeque;
91#[doc(no_inline)]
92pub use std::convert::{TryFrom, TryInto};
93#[doc(no_inline)]
94pub use std::fmt;
95#[doc(no_inline)]
96pub use std::future::Future;
97#[doc(no_inline)]
98pub use std::mem;
99#[doc(no_inline)]
100pub use std::net::{
101 IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6, ToSocketAddrs,
102};
103#[doc(no_inline)]
104pub use std::ops::{Fn, FnMut, FnOnce};
105#[doc(no_inline)]
106pub use std::pin::Pin;
107#[doc(no_inline)]
108pub use std::rc::Rc;
109#[doc(no_inline)]
110pub use std::str::FromStr;
111#[doc(no_inline)]
112pub use std::string::{String, ToString};
113#[doc(no_inline)]
114pub use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering};
115#[doc(no_inline)]
116pub use std::sync::{Arc, LazyLock, Weak};
117#[doc(no_inline)]
118pub use std::task;
119#[doc(no_inline)]
120pub use std::time::Duration;
121#[doc(no_inline)]
122pub use std::vec::Vec;
123
124cfg_if! {
125 if #[cfg(all(target_arch = "wasm32", target_os = "unknown"))] {
126
127 #[doc(no_inline)]
128 pub use async_executors::JoinHandle as LowLevelJoinHandle;
129
130 } else {
131 cfg_if! {
132 if #[cfg(feature="rt-async-std")] {
133 #[doc(no_inline)]
134 pub use async_std::task::JoinHandle as LowLevelJoinHandle;
135
136 } else if #[cfg(feature="rt-tokio")] {
137
138 #[doc(no_inline)]
139 pub use tokio::task::JoinHandle as LowLevelJoinHandle;
140 } else {
141 compile_error!("needs executor implementation");
142 }
143 }
144 }
145}
146
147#[doc(inline)]
148pub use assembly_buffer::*;
149#[doc(inline)]
150pub use async_locks::*;
151#[doc(inline)]
152pub use async_peek_stream::*;
153#[doc(inline)]
154pub use clone_stream::*;
155#[doc(inline)]
156pub use deferred_stream_processor::*;
157#[doc(inline)]
158pub use event_bus::*;
159#[doc(inline)]
160pub use eventual::*;
161#[doc(inline)]
162pub use eventual_base::{EventualCommon, EventualResolvedFuture};
163#[doc(inline)]
164pub use eventual_value::*;
165#[doc(inline)]
166pub use eventual_value_clone::*;
167#[doc(inline)]
168pub use future_queue::*;
169#[doc(inline)]
170pub use hash_atom::*;
171#[doc(inline)]
172pub use interval::*;
173#[doc(inline)]
174pub use ip_addr_port::*;
175#[doc(inline)]
176pub use ip_extra::*;
177#[doc(inline)]
178pub use ipc::*;
179#[doc(inline)]
180pub use log_unwrap::*;
181#[doc(inline)]
182pub use must_join_handle::*;
183#[doc(inline)]
184pub use must_join_single_future::*;
185#[doc(inline)]
186pub use mutable_future::*;
187#[doc(inline)]
188pub use network_interfaces::*;
189#[doc(inline)]
190pub use network_result::*;
191#[doc(inline)]
192pub use pin::*;
193#[doc(inline)]
194pub use random::*;
195#[doc(inline)]
196pub use raw_timestamp::*;
197#[doc(inline)]
198pub use resolver::*;
199#[doc(inline)]
200pub use single_shot_eventual::*;
201#[doc(inline)]
202pub use sleep::*;
203#[doc(inline)]
204#[cfg(not(all(target_arch = "wasm32", target_os = "unknown")))]
205pub use socket_tools::*;
206#[doc(inline)]
207pub use spawn::*;
208#[doc(inline)]
209pub use split_url::*;
210#[doc(inline)]
211pub use startup_lock::*;
212#[doc(inline)]
213pub use static_string_table::*;
214#[doc(inline)]
215pub use tick_task::*;
216#[doc(inline)]
217pub use timeout::*;
218#[doc(inline)]
219pub use timeout_or::*;
220#[doc(inline)]
221pub use tools::*;
222#[doc(inline)]
223pub use trim_backtrace::*;
224#[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
225pub use wasm_tools::*;
226
227#[cfg(any(test, feature = "test-util"))]
228#[doc(hidden)]
229pub mod tests;
230
231cfg_if! {
232 if #[cfg(feature = "tracing")] {
233 use tracing::*;
234
235 #[macro_export]
236 macro_rules! debug_target_enabled {
237 ($target:expr) => { enabled!(target: $target, Level::DEBUG) }
238 }
239 } else {
240 use log::*;
241 #[macro_export]
242 macro_rules! debug_target_enabled {
243 ($target:expr) => { log_enabled!(target: $target, Level::Debug) }
244 }
245 }
246}
247use cfg_if::*;
248use futures_util::{AsyncRead, AsyncWrite};
249use parking_lot::*;
250use stop_token::*;
251use thiserror::Error as ThisError;
252
253pub use fn_name;
254
255#[no_mangle]
257pub extern "C" fn main_rs() {}