[−][src]Struct romio::uds::UnixStream
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]
ⓘImportant traits for ConnectFuturepub fn connect(path: impl AsRef<Path>) -> ConnectFuture
[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"));
pub fn pair() -> Result<(UnixStream, UnixStream)>
[src]
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()?;
pub fn local_addr(&self) -> Result<SocketAddr>
[src]
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()?;
pub fn peer_addr(&self) -> Result<SocketAddr>
[src]
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()?;
pub fn peer_cred(&self) -> Result<UCred>
[src]
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()?;
pub fn shutdown(&self, how: Shutdown) -> Result<()>
[src]
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 Unpin for UnixStream
[src]
impl Debug for UnixStream
[src]
impl AsRawFd for UnixStream
[src]
impl AsyncWriteReady for UnixStream
[src]
type Ok = Ready
The type of successful values yielded by this trait.
type Err = Error
The type of failures yielded by this trait.
fn poll_write_ready(
self: Pin<&mut Self>,
cx: &mut Context
) -> Poll<Result<Self::Ok, Self::Err>>
[src]
self: Pin<&mut Self>,
cx: &mut Context
) -> Poll<Result<Self::Ok, Self::Err>>
Test whether this socket is ready to be written to or not.
default fn poll_write_ready_unpin(
self: Pin<&mut Self>,
cx: &mut Context
) -> Poll<Result<Self::Ok, Self::Err>> where
Self: Unpin,
[src]
self: Pin<&mut Self>,
cx: &mut Context
) -> Poll<Result<Self::Ok, Self::Err>> where
Self: Unpin,
A convenience for calling AsyncWriteReady::poll_write_ready
on Unpin
types.
impl AsyncReadReady for UnixStream
[src]
type Ok = Ready
The type of successful values yielded by this trait.
type Err = Error
The type of failures yielded by this trait.
fn poll_read_ready(
self: Pin<&mut Self>,
cx: &mut Context
) -> Poll<Result<Self::Ok, Self::Err>>
[src]
self: Pin<&mut Self>,
cx: &mut Context
) -> Poll<Result<Self::Ok, Self::Err>>
Test whether this socket is ready to be read or not.
default fn poll_read_ready_unpin(
self: Pin<&mut Self>,
cx: &mut Context
) -> Poll<Result<Self::Ok, Self::Err>> where
Self: Unpin,
[src]
self: Pin<&mut Self>,
cx: &mut Context
) -> Poll<Result<Self::Ok, Self::Err>> where
Self: Unpin,
A convenience for calling AsyncReadReady::poll_read_ready
on Unpin
types.
impl TakeError for UnixStream
[src]
type Ok = Error
The type of successful values yielded by this trait.
type Err = Error
The type of failures yielded by this trait.
fn take_error(&self) -> Result<Option<Self::Ok>, Self::Err>
[src]
Returns the value of the SO_ERROR
option.
Examples
#![feature(async_await, await_macro, futures_api)] use romio::uds::UnixStream; use romio::raw::TakeError; let stream = await!(UnixStream::connect("/tmp/sock"))?; if let Ok(Some(err)) = stream.take_error() { println!("Got error: {:?}", err); }
impl AsyncRead for UnixStream
[src]
fn poll_read(
self: Pin<&mut Self>,
cx: &mut Context,
buf: &mut [u8]
) -> Poll<Result<usize>>
[src]
self: Pin<&mut Self>,
cx: &mut Context,
buf: &mut [u8]
) -> Poll<Result<usize>>
fn poll_vectored_read(
self: Pin<&mut Self>,
cx: &mut Context,
bufs: &mut [&mut IoVec]
) -> Poll<Result<usize>>
[src]
self: Pin<&mut Self>,
cx: &mut Context,
bufs: &mut [&mut IoVec]
) -> Poll<Result<usize>>
unsafe default fn initializer(&self) -> Initializer
[src]
Determines if this AsyncRead
er can work with buffers of uninitialized memory. Read more
impl AsyncWrite for UnixStream
[src]
fn poll_write(
self: Pin<&mut Self>,
cx: &mut Context,
buf: &[u8]
) -> Poll<Result<usize>>
[src]
self: Pin<&mut Self>,
cx: &mut Context,
buf: &[u8]
) -> Poll<Result<usize>>
fn poll_vectored_write(
self: Pin<&mut Self>,
cx: &mut Context,
bufs: &[&IoVec]
) -> Poll<Result<usize>>
[src]
self: Pin<&mut Self>,
cx: &mut Context,
bufs: &[&IoVec]
) -> Poll<Result<usize>>
fn poll_flush(self: Pin<&mut Self>, cx: &mut Context) -> Poll<Result<()>>
[src]
fn poll_close(self: Pin<&mut Self>, cx: &mut Context) -> Poll<Result<()>>
[src]
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]
U: From<T>,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<R> AsyncReadExt for R where
R: AsyncRead + ?Sized,
[src]
R: AsyncRead + ?Sized,
default fn copy_into<W>(
&'a mut self,
writer: &'a mut W
) -> CopyInto<'a, Self, W> where
Self: Unpin,
W: AsyncWrite + Unpin,
[src]
&'a mut self,
writer: &'a mut W
) -> CopyInto<'a, Self, W> where
Self: Unpin,
W: AsyncWrite + Unpin,
Creates a future which copies all the bytes from one object to another. Read more
default fn read(&'a mut self, buf: &'a mut [u8]) -> Read<'a, Self> where
Self: Unpin,
[src]
Self: Unpin,
Tries to read some bytes directly into the given buf
in asynchronous manner, returning a future type. Read more
default fn read_exact(&'a mut self, buf: &'a mut [u8]) -> ReadExact<'a, Self> where
Self: Unpin,
[src]
Self: Unpin,
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
default fn read_to_end(
&'a mut self,
buf: &'a mut Vec<u8>
) -> ReadToEnd<'a, Self> where
Self: Unpin,
[src]
&'a mut self,
buf: &'a mut Vec<u8>
) -> ReadToEnd<'a, Self> where
Self: Unpin,
Creates a future which will read all the bytes from this AsyncRead
. Read more
default fn split(self) -> (ReadHalf<Self>, WriteHalf<Self>) where
Self: AsyncWrite,
[src]
Self: AsyncWrite,
Helper method for splitting this read/write object into two halves. Read more
default fn compat(self) -> Compat<Self> where
Self: Unpin,
[src]
Self: Unpin,
Wraps an [AsyncRead
] in a compatibility wrapper that allows it to be used as a futures 0.1 / tokio-io 0.1 AsyncRead
. If the wrapped type implements [AsyncWrite
] as well, the result will also implement the futures 0.1 / tokio 0.1 AsyncWrite
trait. Read more
impl<W> AsyncWriteExt for W where
W: AsyncWrite + ?Sized,
[src]
W: AsyncWrite + ?Sized,
default fn flush(&mut self) -> Flush<Self> where
Self: Unpin,
[src]
Self: Unpin,
Creates a future which will entirely flush this AsyncWrite
. Read more
default fn close(&mut self) -> Close<Self> where
Self: Unpin,
[src]
Self: Unpin,
Creates a future which will entirely close this AsyncWrite
.
default fn write_all(&'a mut self, buf: &'a [u8]) -> WriteAll<'a, Self> where
Self: Unpin,
[src]
Self: Unpin,
Write data into this object. Read more
default fn compat_write(self) -> Compat<Self> where
Self: Unpin,
[src]
Self: Unpin,
Wraps an [AsyncWrite
] in a compatibility wrapper that allows it to be used as a futures 0.1 / tokio-io 0.1 AsyncWrite
. Requires the io-compat
feature to enable. Read more