pub struct UnixStream { /* private fields */ }Available on Unix and crate feature
default only.Expand description
A Unix stream socket.
This type is an async version of std::os::unix::net::UnixStream.
§Examples
use async_std::os::unix::net::UnixStream;
use async_std::prelude::*;
let mut stream = UnixStream::connect("/tmp/socket").await?;
stream.write_all(b"hello world").await?;
let mut response = Vec::new();
stream.read_to_end(&mut response).await?;Implementations§
Source§impl UnixStream
impl UnixStream
Sourcepub async fn connect<P: AsRef<Path>>(path: P) -> Result<UnixStream>
pub async fn connect<P: AsRef<Path>>(path: P) -> Result<UnixStream>
Connects to the socket to the specified address.
§Examples
use async_std::os::unix::net::UnixStream;
let stream = UnixStream::connect("/tmp/socket").await?;Sourcepub fn pair() -> Result<(UnixStream, UnixStream)>
pub fn pair() -> Result<(UnixStream, UnixStream)>
Creates an unnamed pair of connected sockets.
Returns two streams which are connected to each other.
§Examples
use async_std::os::unix::net::UnixStream;
let stream = UnixStream::pair()?;Sourcepub fn local_addr(&self) -> Result<SocketAddr>
pub fn local_addr(&self) -> Result<SocketAddr>
Returns the socket address of the local half of this connection.
§Examples
use async_std::os::unix::net::UnixStream;
let stream = UnixStream::connect("/tmp/socket").await?;
let addr = stream.local_addr()?;Sourcepub fn peer_addr(&self) -> Result<SocketAddr>
pub fn peer_addr(&self) -> Result<SocketAddr>
Returns the socket address of the remote half of this connection.
§Examples
use async_std::os::unix::net::UnixStream;
let stream = UnixStream::connect("/tmp/socket").await?;
let peer = stream.peer_addr()?;Sourcepub fn shutdown(&self, how: Shutdown) -> Result<()>
pub fn shutdown(&self, how: Shutdown) -> Result<()>
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).
use async_std::os::unix::net::UnixStream;
use std::net::Shutdown;
let stream = UnixStream::connect("/tmp/socket").await?;
stream.shutdown(Shutdown::Both)?;Trait Implementations§
Source§impl AsRawFd for UnixStream
impl AsRawFd for UnixStream
Source§impl Debug for UnixStream
impl Debug for UnixStream
Source§impl From<UnixStream> for UnixStream
impl From<UnixStream> for UnixStream
Source§fn from(stream: UnixStream) -> UnixStream
fn from(stream: UnixStream) -> UnixStream
Converts a std::os::unix::net::UnixStream into its asynchronous equivalent.
Source§impl FromRawFd for UnixStream
impl FromRawFd for UnixStream
Source§unsafe fn from_raw_fd(fd: RawFd) -> UnixStream
unsafe fn from_raw_fd(fd: RawFd) -> UnixStream
Available on crate features
std and docs only.Constructs a new instance of
Self from the given raw file
descriptor. Read moreSource§impl IntoRawFd for UnixStream
impl IntoRawFd for UnixStream
Source§fn into_raw_fd(self) -> RawFd
fn into_raw_fd(self) -> RawFd
Available on crate features
std and docs only.Consumes this object, returning the raw underlying file descriptor. Read more
Source§impl Read for &UnixStream
impl Read for &UnixStream
Source§fn poll_read(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
buf: &mut [u8],
) -> Poll<Result<usize>>
fn poll_read( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &mut [u8], ) -> Poll<Result<usize>>
Available on crate features
std and docs only.Attempt to read from the
AsyncRead into buf.Source§fn poll_read_vectored(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
bufs: &mut [IoSliceMut<'_>],
) -> Poll<Result<usize>>
fn poll_read_vectored( self: Pin<&mut Self>, cx: &mut Context<'_>, bufs: &mut [IoSliceMut<'_>], ) -> Poll<Result<usize>>
Available on crate features
std and docs only.Attempt to read from the
AsyncRead into bufs using vectored IO operations.Source§fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> ImplFuture<Result<usize>>where
Self: Unpin,
fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> ImplFuture<Result<usize>>where
Self: Unpin,
Available on crate features
std and docs only.Reads some bytes from the byte stream. Read more
Source§fn read_vectored<'a>(
&'a mut self,
bufs: &'a mut [IoSliceMut<'a>],
) -> ImplFuture<Result<usize>>where
Self: Unpin,
fn read_vectored<'a>(
&'a mut self,
bufs: &'a mut [IoSliceMut<'a>],
) -> ImplFuture<Result<usize>>where
Self: Unpin,
Available on crate features
std and docs only.Source§fn read_to_end<'a>(
&'a mut self,
buf: &'a mut Vec<u8>,
) -> ImplFuture<Result<usize>>where
Self: Unpin,
fn read_to_end<'a>(
&'a mut self,
buf: &'a mut Vec<u8>,
) -> ImplFuture<Result<usize>>where
Self: Unpin,
Available on crate features
std and docs only.Reads all bytes from the byte stream. Read more
Source§fn read_to_string<'a>(
&'a mut self,
buf: &'a mut String,
) -> ImplFuture<Result<usize>>where
Self: Unpin,
fn read_to_string<'a>(
&'a mut self,
buf: &'a mut String,
) -> ImplFuture<Result<usize>>where
Self: Unpin,
Available on crate features
std and docs only.Reads all bytes from the byte stream and appends them into a string. Read more
Source§fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ImplFuture<Result<()>>where
Self: Unpin,
fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ImplFuture<Result<()>>where
Self: Unpin,
Available on crate features
std and docs only.Reads the exact number of bytes required to fill
buf. Read moreSource§fn take(self, limit: u64) -> Take<Self>where
Self: Sized,
fn take(self, limit: u64) -> Take<Self>where
Self: Sized,
Available on crate features
std and docs only.Creates an adaptor which will read at most
limit bytes from it. Read moreSource§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Available on crate features
std and docs only.Creates a “by reference” adaptor for this instance of
Read. Read moreSource§impl Read for UnixStream
impl Read for UnixStream
Source§fn poll_read(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
buf: &mut [u8],
) -> Poll<Result<usize>>
fn poll_read( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &mut [u8], ) -> Poll<Result<usize>>
Available on crate features
std and docs only.Attempt to read from the
AsyncRead into buf.Source§fn poll_read_vectored(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
bufs: &mut [IoSliceMut<'_>],
) -> Poll<Result<usize>>
fn poll_read_vectored( self: Pin<&mut Self>, cx: &mut Context<'_>, bufs: &mut [IoSliceMut<'_>], ) -> Poll<Result<usize>>
Available on crate features
std and docs only.Attempt to read from the
AsyncRead into bufs using vectored IO operations.Source§fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> ImplFuture<Result<usize>>where
Self: Unpin,
fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> ImplFuture<Result<usize>>where
Self: Unpin,
Available on crate features
std and docs only.Reads some bytes from the byte stream. Read more
Source§fn read_vectored<'a>(
&'a mut self,
bufs: &'a mut [IoSliceMut<'a>],
) -> ImplFuture<Result<usize>>where
Self: Unpin,
fn read_vectored<'a>(
&'a mut self,
bufs: &'a mut [IoSliceMut<'a>],
) -> ImplFuture<Result<usize>>where
Self: Unpin,
Available on crate features
std and docs only.Source§fn read_to_end<'a>(
&'a mut self,
buf: &'a mut Vec<u8>,
) -> ImplFuture<Result<usize>>where
Self: Unpin,
fn read_to_end<'a>(
&'a mut self,
buf: &'a mut Vec<u8>,
) -> ImplFuture<Result<usize>>where
Self: Unpin,
Available on crate features
std and docs only.Reads all bytes from the byte stream. Read more
Source§fn read_to_string<'a>(
&'a mut self,
buf: &'a mut String,
) -> ImplFuture<Result<usize>>where
Self: Unpin,
fn read_to_string<'a>(
&'a mut self,
buf: &'a mut String,
) -> ImplFuture<Result<usize>>where
Self: Unpin,
Available on crate features
std and docs only.Reads all bytes from the byte stream and appends them into a string. Read more
Source§fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ImplFuture<Result<()>>where
Self: Unpin,
fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ImplFuture<Result<()>>where
Self: Unpin,
Available on crate features
std and docs only.Reads the exact number of bytes required to fill
buf. Read moreSource§fn take(self, limit: u64) -> Take<Self>where
Self: Sized,
fn take(self, limit: u64) -> Take<Self>where
Self: Sized,
Available on crate features
std and docs only.Creates an adaptor which will read at most
limit bytes from it. Read moreSource§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Available on crate features
std and docs only.Creates a “by reference” adaptor for this instance of
Read. Read moreSource§impl Write for &UnixStream
impl Write for &UnixStream
Source§fn poll_write(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
buf: &[u8],
) -> Poll<Result<usize>>
fn poll_write( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize>>
Available on crate features
std and docs only.Attempt to write bytes from
buf into the object.Source§fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>
fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>
Available on crate features
std and docs only.Attempt to flush the object, ensuring that any buffered data reach
their destination.
Source§fn poll_close(self: Pin<&mut Self>, _: &mut Context<'_>) -> Poll<Result<()>>
fn poll_close(self: Pin<&mut Self>, _: &mut Context<'_>) -> Poll<Result<()>>
Available on crate features
std and docs only.Attempt to close the object.
Source§fn poll_write_vectored(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
bufs: &[IoSlice<'_>],
) -> Poll<Result<usize>>
fn poll_write_vectored( self: Pin<&mut Self>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize>>
Available on crate features
std and docs only.Attempt to write bytes from
bufs into the object using vectored IO operations.Source§fn write<'a>(&'a mut self, buf: &'a [u8]) -> ImplFuture<Result<usize>>where
Self: Unpin,
fn write<'a>(&'a mut self, buf: &'a [u8]) -> ImplFuture<Result<usize>>where
Self: Unpin,
Available on crate features
std and docs only.Writes some bytes into the byte stream. Read more
Source§fn flush(&mut self) -> ImplFuture<Result<()>>where
Self: Unpin,
fn flush(&mut self) -> ImplFuture<Result<()>>where
Self: Unpin,
Available on crate features
std and docs only.Flushes the stream to ensure that all buffered contents reach their destination. Read more
Source§fn write_vectored<'a>(
&'a mut self,
bufs: &'a [IoSlice<'a>],
) -> ImplFuture<Result<usize>>where
Self: Unpin,
fn write_vectored<'a>(
&'a mut self,
bufs: &'a [IoSlice<'a>],
) -> ImplFuture<Result<usize>>where
Self: Unpin,
Available on crate features
std and docs only.Source§impl Write for UnixStream
impl Write for UnixStream
Source§fn poll_write(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
buf: &[u8],
) -> Poll<Result<usize>>
fn poll_write( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize>>
Available on crate features
std and docs only.Attempt to write bytes from
buf into the object.Source§fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>
fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>
Available on crate features
std and docs only.Attempt to flush the object, ensuring that any buffered data reach
their destination.
Source§fn poll_close(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>
fn poll_close(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>
Available on crate features
std and docs only.Attempt to close the object.
Source§fn poll_write_vectored(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
bufs: &[IoSlice<'_>],
) -> Poll<Result<usize>>
fn poll_write_vectored( self: Pin<&mut Self>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize>>
Available on crate features
std and docs only.Attempt to write bytes from
bufs into the object using vectored IO operations.Source§fn write<'a>(&'a mut self, buf: &'a [u8]) -> ImplFuture<Result<usize>>where
Self: Unpin,
fn write<'a>(&'a mut self, buf: &'a [u8]) -> ImplFuture<Result<usize>>where
Self: Unpin,
Available on crate features
std and docs only.Writes some bytes into the byte stream. Read more
Source§fn flush(&mut self) -> ImplFuture<Result<()>>where
Self: Unpin,
fn flush(&mut self) -> ImplFuture<Result<()>>where
Self: Unpin,
Available on crate features
std and docs only.Flushes the stream to ensure that all buffered contents reach their destination. Read more
Source§fn write_vectored<'a>(
&'a mut self,
bufs: &'a [IoSlice<'a>],
) -> ImplFuture<Result<usize>>where
Self: Unpin,
fn write_vectored<'a>(
&'a mut self,
bufs: &'a [IoSlice<'a>],
) -> ImplFuture<Result<usize>>where
Self: Unpin,
Available on crate features
std and docs only.Auto Trait Implementations§
impl Freeze for UnixStream
impl RefUnwindSafe for UnixStream
impl Send for UnixStream
impl Sync for UnixStream
impl Unpin for UnixStream
impl UnsafeUnpin for UnixStream
impl UnwindSafe for UnixStream
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> ReadExt for T
impl<T> ReadExt for T
Source§fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadFuture<'a, Self>where
Self: Unpin,
fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadFuture<'a, Self>where
Self: Unpin,
Available on crate feature
std only.Reads some bytes from the byte stream. Read more
Source§fn read_vectored<'a>(
&'a mut self,
bufs: &'a mut [IoSliceMut<'a>],
) -> ReadVectoredFuture<'a, Self>where
Self: Unpin,
fn read_vectored<'a>(
&'a mut self,
bufs: &'a mut [IoSliceMut<'a>],
) -> ReadVectoredFuture<'a, Self>where
Self: Unpin,
Available on crate feature
std only.Source§fn read_to_end<'a>(
&'a mut self,
buf: &'a mut Vec<u8>,
) -> ReadToEndFuture<'a, Self>where
Self: Unpin,
fn read_to_end<'a>(
&'a mut self,
buf: &'a mut Vec<u8>,
) -> ReadToEndFuture<'a, Self>where
Self: Unpin,
Available on crate feature
std only.Reads all bytes from the byte stream. Read more
Source§fn read_to_string<'a>(
&'a mut self,
buf: &'a mut String,
) -> ReadToStringFuture<'a, Self>where
Self: Unpin,
fn read_to_string<'a>(
&'a mut self,
buf: &'a mut String,
) -> ReadToStringFuture<'a, Self>where
Self: Unpin,
Available on crate feature
std only.Reads all bytes from the byte stream and appends them into a string. Read more
Source§fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExactFuture<'a, Self>where
Self: Unpin,
fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExactFuture<'a, Self>where
Self: Unpin,
Available on crate feature
std only.Reads the exact number of bytes required to fill
buf. Read moreSource§fn take(self, limit: u64) -> Take<Self>where
Self: Sized,
fn take(self, limit: u64) -> Take<Self>where
Self: Sized,
Available on crate feature
std only.Creates an adaptor which will read at most
limit bytes from it. Read moreSource§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Available on crate feature
std only.Creates a “by reference” adaptor for this instance of
Read. Read moreSource§impl<T> WriteExt for T
impl<T> WriteExt for T
Source§fn write<'a>(&'a mut self, buf: &'a [u8]) -> WriteFuture<'a, Self>where
Self: Unpin,
fn write<'a>(&'a mut self, buf: &'a [u8]) -> WriteFuture<'a, Self>where
Self: Unpin,
Available on crate feature
std only.Writes some bytes into the byte stream. Read more
Source§fn flush(&mut self) -> FlushFuture<'_, Self>where
Self: Unpin,
fn flush(&mut self) -> FlushFuture<'_, Self>where
Self: Unpin,
Available on crate feature
std only.Flushes the stream to ensure that all buffered contents reach their destination. Read more
Source§fn write_vectored<'a>(
&'a mut self,
bufs: &'a [IoSlice<'a>],
) -> WriteVectoredFuture<'a, Self>where
Self: Unpin,
fn write_vectored<'a>(
&'a mut self,
bufs: &'a [IoSlice<'a>],
) -> WriteVectoredFuture<'a, Self>where
Self: Unpin,
Available on crate feature
std only.