1mod buffer_pool;
2mod driver;
3mod extra;
4mod pal;
5mod sys_slice;
6
7pub mod op;
9pub use driver::*;
10pub use extra::Extra;
11pub use op::{ResultTakeBuffer, TakeBuffer};
12#[allow(unused_imports)]
13pub use pal::reexport::*;
14pub use pal::{AsFd, AsRawFd, BorrowedFd, FromRawFd, IntoRawFd, OwnedFd, RawFd};
15
16#[allow(unused_imports)]
18pub(crate) use self::buffer_pool::BufControl;
19#[allow(unused_imports)]
20#[cfg(io_uring)]
21pub(crate) use self::pal::is_op_supported;
22
23#[allow(unused_imports)]
25mod prelude {
26 pub(super) use std::{
27 collections::VecDeque,
28 ffi::{CStr, CString},
29 io,
30 marker::PhantomData,
31 mem::ManuallyDrop,
32 ptr::{NonNull, null, null_mut, read_unaligned},
33 task::{Poll, Wake, Waker},
34 time::Duration,
35 };
36
37 #[cfg(any(windows, io_uring))]
38 cfg_select! {
39 feature = "once_cell_try" => {
40 pub(super) use std::sync::OnceLock;
41 }
42 _ => {
43 pub(super) use once_cell::sync::OnceCell as OnceLock;
44 }
45 }
46
47 pub(super) use compio_buf::*;
48 pub(super) use compio_log::*;
49 pub(super) use mod_use::mod_use;
50 pub(super) use socket2::{SockAddr, SockAddrStorage, Socket as Socket2, socklen_t};
51
52 pub(super) use crate::{
53 BufferPool, BufferRef, DriverType, ProactorBuilder, SharedFd, ToSharedFd,
54 control::Carrier,
55 key::ErasedKey,
56 sys::{
57 extra::Extra,
58 pal::{self, *},
59 sys_slice::*,
60 },
61 syscall,
62 };
63}