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>

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

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

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

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

1.0.0fn bytes(self) -> Bytes<Self>

fn chars(self) -> Chars<Self>

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

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

impl Write for TcpStream

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

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

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

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

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

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>

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

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

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

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

1.0.0fn bytes(self) -> Bytes<Self>

fn chars(self) -> Chars<Self>

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

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

impl Write for TcpStream

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

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

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

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

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

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