[][src]Struct cancellable_io::TcpStream

pub struct TcpStream { /* fields omitted */ }

A TCP stream between a local and a remote socket.

The socket will be closed when the value is dropped.

The read and write methods can be interrupted using the Canceller object created with the stream.

Otherwise similar to std::net::TcpStream.

Methods

impl TcpStream[src]

pub fn connect<A: ToSocketAddrs>(address: A) -> Result<(Self, Canceller)>[src]

Creates a new TCP stream with an object used to cancel read/write operations, and connects it to a remote address.

pub fn peer_addr(&self) -> Result<SocketAddr>[src]

Returns the socket address of the remote peer of this TCP connection.

pub fn local_addr(&self) -> Result<SocketAddr>[src]

Returns the socket address of the local half of this TCP connection.

pub fn shutdown(&self, how: Shutdown) -> Result<()>[src]

Shuts down the read, write, or both halves of this connection.

pub fn try_clone(&self) -> Result<(Self, Canceller)>[src]

Creates a new independently owned handle to the underlying socket. The Cancellers associated with the original object and its clone are also independent.

pub fn set_read_timeout(&self, duration: Option<Duration>) -> Result<()>[src]

Sets the read timeout.

pub fn set_write_timeout(&self, duration: Option<Duration>) -> Result<()>[src]

Sets the write timeout.

pub fn read_timeout(&self) -> Result<Option<Duration>>[src]

Gets the read timeout.

pub fn write_timeout(&self) -> Result<Option<Duration>>[src]

Gets the write timeout.

pub fn set_nodelay(&self, nodelay: bool) -> Result<()>[src]

Sets the value of the TCP_NODELAY option on this socket.

pub fn nodelay(&self) -> Result<bool>[src]

Gets the value of the TCP_NODELAY option for this socket.

pub fn set_ttl(&self, ttl: u32) -> Result<()>[src]

Sets the value for the IP_TTL option on this socket.

pub fn ttl(&self) -> Result<u32>[src]

Gets the value for the IP_TTL option for this socket.

pub fn take_error(&self) -> Result<Option<Error>>[src]

Gets the value of the SO_ERROR option for this socket.

pub fn set_nonblocking(&self, nonblocking: bool) -> Result<()>[src]

Moves this TCP stream into or out of nonblocking mode.

Trait Implementations

impl Debug for TcpStream[src]

impl Read for TcpStream[src]

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

Reads data from the socket. This operation can be cancelled by the associated Canceller object.

default fn read_vectored(
    &mut self,
    bufs: &mut [IoVecMut]
) -> Result<usize, Error>
[src]

🔬 This is a nightly-only experimental API. (iovec)

Like read, except that it reads into a slice of buffers. Read more

unsafe default fn initializer(&self) -> Initializer[src]

🔬 This is a nightly-only experimental API. (read_initializer)

Determines if this Reader can work with buffers of uninitialized memory. Read more

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

Read all bytes until EOF in this source, placing them into buf. Read more

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

Read all bytes until EOF in this source, appending them to buf. Read more

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

Read the exact number of bytes required to fill buf. Read more

default fn by_ref(&mut self) -> &mut Self
1.0.0
[src]

Creates a "by reference" adaptor for this instance of Read. Read more

default fn bytes(self) -> Bytes<Self>
1.0.0
[src]

Transforms this Read instance to an [Iterator] over its bytes. Read more

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

Creates an adaptor which will chain this stream with another. Read more

default fn take(self, limit: u64) -> Take<Self>
1.0.0
[src]

Creates an adaptor which will read at most limit bytes from it. Read more

impl Write for TcpStream[src]

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

Writes data to the socket. This operation can be cancelled by the associated Canceller object.

default fn write_vectored(&mut self, bufs: &[IoVec]) -> Result<usize, Error>[src]

🔬 This is a nightly-only experimental API. (iovec)

Like write, except that it writes from a slice of buffers. Read more

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

Attempts to write an entire buffer into this writer. Read more

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

Writes a formatted string into this writer, returning any error encountered. Read more

default fn by_ref(&mut self) -> &mut Self
1.0.0
[src]

Creates a "by reference" adaptor for this instance of Write. Read more

Auto Trait Implementations

impl Send for TcpStream

impl Sync for TcpStream

Blanket Implementations

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.