1#![deny(missing_docs)]
26#![cfg_attr(can_vector, feature(can_vector))]
27#![cfg_attr(all(unix, unix_socket_peek), feature(unix_socket_peek))]
28#![cfg_attr(write_all_vectored, feature(write_all_vectored))]
29
30#[cfg(not(windows))]
31mod rustix;
32#[cfg(all(unix, feature = "async-std"))]
33mod unix_async_std;
34#[cfg(all(unix, feature = "tokio"))]
35mod unix_tokio;
36#[cfg(windows)]
37mod windows;
38#[cfg(all(windows, feature = "async-std"))]
39mod windows_async_std;
40#[cfg(all(windows, feature = "tokio"))]
41mod windows_tokio;
42
43#[cfg(unix)]
44pub use crate::rustix::{socketpair_seqpacket, socketpair_stream, SocketpairStream};
45#[cfg(all(unix, feature = "async-std"))]
46pub use crate::unix_async_std::{async_std_socketpair_stream, AsyncStdSocketpairStream};
47#[cfg(all(unix, feature = "tokio"))]
48pub use crate::unix_tokio::{tokio_socketpair_stream, TokioSocketpairStream};
49#[cfg(windows)]
50pub use crate::windows::{socketpair_seqpacket, socketpair_stream, SocketpairStream};
51#[cfg(all(windows, feature = "async-std"))]
52pub use crate::windows_async_std::{async_std_socketpair_stream, AsyncStdSocketpairStream};
53#[cfg(all(windows, feature = "tokio"))]
54pub use crate::windows_tokio::{tokio_socketpair_stream, TokioSocketpairStream};