summaryrefslogtreecommitdiffstats
path: root/tokio/src/net/tcp
diff options
context:
space:
mode:
Diffstat (limited to 'tokio/src/net/tcp')
-rw-r--r--tokio/src/net/tcp/listener.rs46
-rw-r--r--tokio/src/net/tcp/mod.rs25
-rw-r--r--tokio/src/net/tcp/stream.rs60
3 files changed, 60 insertions, 71 deletions
diff --git a/tokio/src/net/tcp/listener.rs b/tokio/src/net/tcp/listener.rs
index 5db5ee80..59762b13 100644
--- a/tokio/src/net/tcp/listener.rs
+++ b/tokio/src/net/tcp/listener.rs
@@ -9,28 +9,30 @@ use std::io;
use std::net::{self, SocketAddr};
use std::task::{Context, Poll};
-/// An I/O object representing a TCP socket listening for incoming connections.
-///
-/// # Examples
-///
-/// ```no_run
-/// use tokio::net::TcpListener;
-///
-/// use std::io;
-/// # async fn process_socket<T>(_socket: T) {}
-///
-/// #[tokio::main]
-/// async fn main() -> io::Result<()> {
-/// let mut listener = TcpListener::bind("127.0.0.1:8080").await?;
-///
-/// loop {
-/// let (socket, _) = listener.accept().await?;
-/// process_socket(socket).await;
-/// }
-/// }
-/// ```
-pub struct TcpListener {
- io: PollEvented<mio::net::TcpListener>,
+cfg_tcp! {
+ /// A TCP socket server, listening for connections.
+ ///
+ /// # Examples
+ ///
+ /// ```no_run
+ /// use tokio::net::TcpListener;
+ ///
+ /// use std::io;
+ /// # async fn process_socket<T>(_socket: T) {}
+ ///
+ /// #[tokio::main]
+ /// async fn main() -> io::Result<()> {
+ /// let mut listener = TcpListener::bind("127.0.0.1:8080").await?;
+ ///
+ /// loop {
+ /// let (socket, _) = listener.accept().await?;
+ /// process_socket(socket).await;
+ /// }
+ /// }
+ /// ```
+ pub struct TcpListener {
+ io: PollEvented<mio::net::TcpListener>,
+ }
}
impl TcpListener {
diff --git a/tokio/src/net/tcp/mod.rs b/tokio/src/net/tcp/mod.rs
index 929a1e00..d5354b38 100644
--- a/tokio/src/net/tcp/mod.rs
+++ b/tokio/src/net/tcp/mod.rs
@@ -1,22 +1,7 @@
-//! TCP bindings for `tokio`.
-//!
-//! This module contains the TCP networking types, similar to the standard
-//! library, which can be used to implement networking protocols.
-//!
-//! Connecting to an address, via TCP, can be done using [`TcpStream`]'s
-//! [`connect`] method, which returns a future which returns a `TcpStream`.
-//!
-//! To listen on an address [`TcpListener`] can be used. `TcpListener`'s
-//! [`incoming`][TcpListener::incoming] method can be used to accept new connections.
-//! It return the [`Incoming`] struct, which implements a stream which returns
-//! `TcpStream`s.
-//!
-//! [`TcpStream`]: struct.TcpStream.html
-//! [`connect`]: struct.TcpStream.html#method.connect
-//! [`TcpListener`]: struct.TcpListener.html
+//! TCP utility types
-mod listener;
-pub use listener::TcpListener;
+pub(crate) mod listener;
+pub(crate) use listener::TcpListener;
mod incoming;
pub use incoming::Incoming;
@@ -24,5 +9,5 @@ pub use incoming::Incoming;
mod split;
pub use split::{ReadHalf, WriteHalf};
-mod stream;
-pub use stream::TcpStream;
+pub(crate) mod stream;
+pub(crate) use stream::TcpStream;
diff --git a/tokio/src/net/tcp/stream.rs b/tokio/src/net/tcp/stream.rs
index 34d3a493..b961e363 100644
--- a/tokio/src/net/tcp/stream.rs
+++ b/tokio/src/net/tcp/stream.rs
@@ -12,35 +12,37 @@ use std::pin::Pin;
use std::task::{Context, Poll};
use std::time::Duration;
-/// An I/O object representing a TCP stream connected to a remote endpoint.
-///
-/// A TCP stream can either be created by connecting to an endpoint, via the
-/// [`connect`] method, or by [accepting] a connection from a [listener].
-///
-/// [`connect`]: struct.TcpStream.html#method.connect
-/// [accepting]: struct.TcpListener.html#method.accept
-/// [listener]: struct.TcpListener.html
-///
-/// # Examples
-///
-/// ```no_run
-/// use tokio::net::TcpStream;
-/// use tokio::prelude::*;
-/// use std::error::Error;
-///
-/// #[tokio::main]
-/// async fn main() -> Result<(), Box<dyn Error>> {
-/// // Connect to a peer
-/// let mut stream = TcpStream::connect("127.0.0.1:8080").await?;
-///
-/// // Write some data.
-/// stream.write_all(b"hello world!").await?;
-///
-/// Ok(())
-/// }
-/// ```
-pub struct TcpStream {
- io: PollEvented<mio::net::TcpStream>,
+cfg_tcp! {
+ /// A TCP stream between a local and a remote socket.
+ ///
+ /// A TCP stream can either be created by connecting to an endpoint, via the
+ /// [`connect`] method, or by [accepting] a connection from a [listener].
+ ///
+ /// [`connect`]: struct.TcpStream.html#method.connect
+ /// [accepting]: struct.TcpListener.html#method.accept
+ /// [listener]: struct.TcpListener.html
+ ///
+ /// # Examples
+ ///
+ /// ```no_run
+ /// use tokio::net::TcpStream;
+ /// use tokio::prelude::*;
+ /// use std::error::Error;
+ ///
+ /// #[tokio::main]
+ /// async fn main() -> Result<(), Box<dyn Error>> {
+ /// // Connect to a peer
+ /// let mut stream = TcpStream::connect("127.0.0.1:8080").await?;
+ ///
+ /// // Write some data.
+ /// stream.write_all(b"hello world!").await?;
+ ///
+ /// Ok(())
+ /// }
+ /// ```
+ pub struct TcpStream {
+ io: PollEvented<mio::net::TcpStream>,
+ }
}
impl TcpStream {