[][src]Struct romio::uds::UnixStream

pub struct UnixStream { /* fields omitted */ }

A structure representing a connected Unix socket.

This socket can be connected directly with UnixStream::connect or accepted from a listener with UnixListener::incoming. Additionally, a pair of anonymous Unix sockets can be created with UnixStream::pair.

Methods

impl UnixStream
[src]

Connects to the socket named by path.

This function will create a new Unix socket and connect to the path specified, associating the returned stream with the default event loop's handle.

Examples

#![feature(async_await, await_macro, futures_api)]
use romio::uds::UnixStream;

let stream = await!(UnixStream::connect("/tmp/sock"));

Creates an unnamed pair of connected sockets.

This function will create a pair of interconnected Unix sockets for communicating back and forth between one another. Each socket will be associated with the event loop whose handle is also provided.

Examples

#![feature(async_await, await_macro, futures_api)]
use romio::uds::UnixStream;

let (sock1, sock2) = UnixStream::pair()?;

Test whether this socket is ready to be read or not.

Test whether this socket is ready to be written to or not.

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

Examples

#![feature(async_await, await_macro, futures_api)]
use romio::uds::UnixStream;

let stream = await!(UnixStream::connect("/tmp/sock"))?;
let addr = stream.local_addr()?;

Returns the socket address of the remote half of this connection.

Examples

#![feature(async_await, await_macro, futures_api)]
use romio::uds::UnixStream;

let stream = await!(UnixStream::connect("/tmp/sock"))?;
let addr = stream.peer_addr()?;

Returns effective credentials of the process which called connect or socketpair.

Examples

#![feature(async_await, await_macro, futures_api)]
use romio::uds::UnixStream;

let stream = await!(UnixStream::connect("/tmp/sock"))?;
let cred = stream.peer_cred()?;

Returns the value of the SO_ERROR option.

Examples

#![feature(async_await, await_macro, futures_api)]
use romio::uds::UnixStream;

let stream = await!(UnixStream::connect("/tmp/sock"))?;
if let Ok(Some(err)) = stream.take_error() {
    println!("Got error: {:?}", err);
}

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

This function will cause all pending and future I/O calls on the specified portions to immediately return with an appropriate value (see the documentation of Shutdown).

#![feature(async_await, await_macro, futures_api)]
use romio::uds::UnixStream;
use std::net::Shutdown;

let stream = await!(UnixStream::connect("/tmp/sock"))?;
stream.shutdown(Shutdown::Both)?;

Trait Implementations

impl Debug for UnixStream
[src]

impl AsRawFd for UnixStream
[src]

impl AsyncWrite for UnixStream
[src]

impl<'a> AsyncWrite for &'a UnixStream
[src]

impl AsyncRead for UnixStream
[src]

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

impl<'a> AsyncRead for &'a UnixStream
[src]

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

Auto Trait Implementations

impl Send for UnixStream

impl Sync for UnixStream

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
    T: From<U>, 
[src]

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

The type returned in the event of a conversion error.

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

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

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

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

The type returned in the event of a conversion error.

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

impl<W> AsyncWriteExt for W where
    W: AsyncWrite + ?Sized
[src]

Creates a future which will entirely flush this AsyncWrite. Read more

Creates a future which will entirely close this AsyncWrite.

Write data into this object. Read more

impl<R> AsyncReadExt for R where
    R: AsyncRead + ?Sized
[src]

Creates a future which copies all the bytes from one object to another. Read more

Tries to read some bytes directly into the given buf in asynchronous manner, returning a future type. Read more

Creates a future which will read exactly enough bytes to fill buf, returning an error if end of file (EOF) is hit sooner. Read more

Creates a future which will read all the bytes from this AsyncRead. Read more

Helper method for splitting this read/write object into two halves. Read more

impl<T> Erased for T
[src]