summaryrefslogtreecommitdiffstats
path: root/tokio/src/net/mod.rs
diff options
context:
space:
mode:
authorCarl Lerche <me@carllerche.com>2019-10-25 12:50:15 -0700
committerGitHub <noreply@github.com>2019-10-25 12:50:15 -0700
commit227533d456fe32e48ffcd3796f1e6c8f9318b230 (patch)
tree498029aaf42dd64eeb8ef0e7d7f29802b45d4e95 /tokio/src/net/mod.rs
parent03a9378297c73c2e56a6d6b55db22b92427b850a (diff)
net: move into tokio crate (#1683)
A step towards collapsing Tokio sub crates into a single `tokio` crate (#1318). The `net` implementation is now provided by the main `tokio` crate. Functionality can be opted out of by using the various net related feature flags.
Diffstat (limited to 'tokio/src/net/mod.rs')
-rw-r--r--tokio/src/net/mod.rs47
1 files changed, 47 insertions, 0 deletions
diff --git a/tokio/src/net/mod.rs b/tokio/src/net/mod.rs
new file mode 100644
index 00000000..2ebf773f
--- /dev/null
+++ b/tokio/src/net/mod.rs
@@ -0,0 +1,47 @@
+//! TCP/UDP/Unix bindings for `tokio`.
+//!
+//! This module contains the TCP/UDP/Unix networking types, similar to the standard
+//! library, which can be used to implement networking protocols.
+//!
+//! # Organization
+//!
+//! * [`TcpListener`] and [`TcpStream`] provide functionality for communication over TCP
+//! * [`UdpSocket`] provides functionality for communication over UDP
+//! * [`UnixListener`] and [`UnixStream`] provide functionality for communication over a
+//! Unix Domain Stream Socket **(available on Unix only)**
+//! * [`UnixDatagram`] and [`UnixDatagramFramed`] provide functionality for communication
+//! over Unix Domain Datagram Socket **(available on Unix only)**
+
+//!
+//! [`TcpListener`]: struct.TcpListener.html
+//! [`TcpStream`]: struct.TcpStream.html
+//! [`UdpSocket`]: struct.UdpSocket.html
+//! [`UnixListener`]: struct.UnixListener.html
+//! [`UnixStream`]: struct.UnixStream.html
+//! [`UnixDatagram`]: struct.UnixDatagram.html
+//! [`UnixDatagramFramed`]: struct.UnixDatagramFramed.html
+
+mod addr;
+pub use addr::ToSocketAddrs;
+
+pub mod driver;
+
+pub mod util;
+
+#[cfg(feature = "tcp")]
+pub mod tcp;
+
+#[cfg(feature = "tcp")]
+pub use self::tcp::{TcpListener, TcpStream};
+
+#[cfg(feature = "udp")]
+pub mod udp;
+
+#[cfg(feature = "udp")]
+pub use self::udp::UdpSocket;
+
+#[cfg(all(unix, feature = "uds"))]
+pub mod unix;
+
+#[cfg(all(unix, feature = "uds"))]
+pub use self::unix::{UnixDatagram, UnixListener, UnixStream};