Struct mio::tcp::TcpStream [] [src]

pub struct TcpStream {
    // some fields omitted
}

Methods

impl TcpStream

fn connect(addr: &SocketAddr) -> Result<TcpStream>

Create a new TCP stream an issue a non-blocking connect to the specified address.

This convenience method is available and uses the system's default options when creating a socket which is then conntected. If fine-grained control over the creation of the socket is desired, you can use net2::TcpBuilder to configure a socket and then pass its socket to TcpStream::connect_stream to transfer ownership into mio and schedule the connect operation.

fn connect_stream(stream: TcpStream, addr: &SocketAddr) -> Result<TcpStream>

Creates a new TcpStream from the pending socket inside the given std::net::TcpBuilder, connecting it to the address specified.

This constructor allows configuring the socket before it's actually connected, and this function will transfer ownership to the returned TcpStream if successful. An unconnected TcpStream can be created with the net2::TcpBuilder type (and also configured via that route).

The platform specific behavior of this function looks like:

  • On Unix, the socket is placed into nonblocking mode and then a connect call is issued.

  • On Windows, the address is stored internally and the connect operation is issued when the returned TcpStream is registered with an event loop. Note that on Windows you must bind a socket before it can be connected, so if a custom TcpBuilder is used it should be bound (perhaps to INADDR_ANY) before this method is called.

fn peer_addr(&self) -> Result<SocketAddr>

fn local_addr(&self) -> Result<SocketAddr>

fn try_clone(&self) -> Result<TcpStream>

fn shutdown(&self, how: Shutdown) -> Result<()>

fn set_nodelay(&self, nodelay: bool) -> Result<()>

fn set_keepalive(&self, seconds: Option<u32>) -> Result<()>

fn take_socket_error(&self) -> Result<()>

impl TcpStream

fn connect(addr: &SocketAddr) -> Result<TcpStream>

Create a new TCP stream an issue a non-blocking connect to the specified address.

This convenience method is available and uses the system's default options when creating a socket which is then conntected. If fine-grained control over the creation of the socket is desired, you can use net2::TcpBuilder to configure a socket and then pass its socket to TcpStream::connect_stream to transfer ownership into mio and schedule the connect operation.

fn connect_stream(stream: TcpStream, addr: &SocketAddr) -> Result<TcpStream>

Creates a new TcpStream from the pending socket inside the given std::net::TcpBuilder, connecting it to the address specified.

This constructor allows configuring the socket before it's actually connected, and this function will transfer ownership to the returned TcpStream if successful. An unconnected TcpStream can be created with the net2::TcpBuilder type (and also configured via that route).

The platform specific behavior of this function looks like:

  • On Unix, the socket is placed into nonblocking mode and then a connect call is issued.

  • On Windows, the address is stored internally and the connect operation is issued when the returned TcpStream is registered with an event loop. Note that on Windows you must bind a socket before it can be connected, so if a custom TcpBuilder is used it should be bound (perhaps to INADDR_ANY) before this method is called.

fn peer_addr(&self) -> Result<SocketAddr>

fn local_addr(&self) -> Result<SocketAddr>

fn try_clone(&self) -> Result<TcpStream>

fn shutdown(&self, how: Shutdown) -> Result<()>

fn set_nodelay(&self, nodelay: bool) -> Result<()>

fn set_keepalive(&self, seconds: Option<u32>) -> Result<()>

fn take_socket_error(&self) -> Result<()>

Trait Implementations

impl Read for TcpStream

fn read(&mut self, buf: &mut [u8]) -> Result<usize>

fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

fn by_ref(&mut self) -> &mut Self

fn bytes(self) -> Bytes<Self>

fn chars(self) -> Chars<Self>

fn chain<R>(self, next: R) -> Chain<Self, R> where R: Read

fn take(self, limit: u64) -> Take<Self>

fn tee<W>(self, out: W) -> Tee<Self, W> where W: Write

impl Write for TcpStream

fn write(&mut self, buf: &[u8]) -> Result<usize>

fn flush(&mut self) -> Result<()>

fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>

fn by_ref(&mut self) -> &mut Self

fn broadcast<W>(self, other: W) -> Broadcast<Self, W> where W: Write

impl Evented for TcpStream

fn register(&self, selector: &mut Selector, token: Token, interest: EventSet, opts: PollOpt) -> Result<()>

fn reregister(&self, selector: &mut Selector, token: Token, interest: EventSet, opts: PollOpt) -> Result<()>

fn deregister(&self, selector: &mut Selector) -> Result<()>

impl AsRawFd for TcpStream

fn as_raw_fd(&self) -> RawFd

impl FromRawFd for TcpStream

unsafe fn from_raw_fd(fd: RawFd) -> TcpStream

impl Read for TcpStream

fn read(&mut self, buf: &mut [u8]) -> Result<usize>

fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

fn by_ref(&mut self) -> &mut Self

fn bytes(self) -> Bytes<Self>

fn chars(self) -> Chars<Self>

fn chain<R>(self, next: R) -> Chain<Self, R> where R: Read

fn take(self, limit: u64) -> Take<Self>

fn tee<W>(self, out: W) -> Tee<Self, W> where W: Write

impl Write for TcpStream

fn write(&mut self, buf: &[u8]) -> Result<usize>

fn flush(&mut self) -> Result<()>

fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>

fn by_ref(&mut self) -> &mut Self

fn broadcast<W>(self, other: W) -> Broadcast<Self, W> where W: Write

impl Evented for TcpStream

fn register(&self, selector: &mut Selector, token: Token, interest: EventSet, opts: PollOpt) -> Result<()>

fn reregister(&self, selector: &mut Selector, token: Token, interest: EventSet, opts: PollOpt) -> Result<()>

fn deregister(&self, selector: &mut Selector) -> Result<()>

impl AsRawFd for TcpStream

fn as_raw_fd(&self) -> RawFd

impl FromRawFd for TcpStream

unsafe fn from_raw_fd(fd: RawFd) -> TcpStream

Derived Implementations

impl Debug for TcpStream

fn fmt(&self, __arg_0: &mut Formatter) -> Result

impl Debug for TcpStream

fn fmt(&self, __arg_0: &mut Formatter) -> Result