tokio/net/
mod.rs

1#![cfg(not(loom))]
2
3//! TCP/UDP/Unix bindings for `tokio`.
4//!
5//! This module contains the TCP/UDP/Unix networking types, similar to the standard
6//! library, which can be used to implement networking protocols.
7//!
8//! # Organization
9//!
10//! * [`TcpListener`] and [`TcpStream`] provide functionality for communication over TCP
11//! * [`UdpSocket`] provides functionality for communication over UDP
12//! * [`UnixListener`] and [`UnixStream`] provide functionality for communication over a
13//! Unix Domain Stream Socket **(available on Unix only)**
14//! * [`UnixDatagram`] provides functionality for communication
15//! over Unix Domain Datagram Socket **(available on Unix only)**
16//! * [`tokio::net::unix::pipe`] for FIFO pipes **(available on Unix only)**
17//! * [`tokio::net::windows::named_pipe`] for Named Pipes **(available on Windows only)**
18//!
19//! For IO resources not available in `tokio::net`, you can use [`AsyncFd`].
20//!
21//! [`TcpListener`]: TcpListener
22//! [`TcpStream`]: TcpStream
23//! [`UdpSocket`]: UdpSocket
24//! [`UnixListener`]: UnixListener
25//! [`UnixStream`]: UnixStream
26//! [`UnixDatagram`]: UnixDatagram
27//! [`tokio::net::unix::pipe`]: unix::pipe
28//! [`tokio::net::windows::named_pipe`]: windows::named_pipe
29//! [`AsyncFd`]: crate::io::unix::AsyncFd
30
31mod addr;
32cfg_not_wasi! {
33    #[cfg(feature = "net")]
34    pub(crate) use addr::to_socket_addrs;
35}
36pub use addr::ToSocketAddrs;
37
38cfg_net! {
39    mod lookup_host;
40    pub use lookup_host::lookup_host;
41
42    pub mod tcp;
43    pub use tcp::listener::TcpListener;
44    pub use tcp::stream::TcpStream;
45    cfg_not_wasi! {
46        pub use tcp::socket::TcpSocket;
47
48        mod udp;
49        pub use udp::UdpSocket;
50    }
51}
52
53cfg_net_unix! {
54    pub mod unix;
55    pub use unix::datagram::socket::UnixDatagram;
56    pub use unix::listener::UnixListener;
57    pub use unix::stream::UnixStream;
58    pub use unix::socket::UnixSocket;
59}
60
61cfg_net_windows! {
62    pub mod windows;
63}