broker_tokio::net

Struct UnixStream

Source
pub struct UnixStream { /* private fields */ }
Available on crate feature uds only.
Expand description

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.

Implementations§

Source§

impl UnixStream

Source

pub async fn connect<P>(path: P) -> Result<UnixStream>
where P: AsRef<Path>,

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.

Source

pub fn from_std(stream: UnixStream) -> Result<UnixStream>

Consumes a UnixStream in the standard library and returns a nonblocking UnixStream from this crate.

The returned stream will be associated with the given event loop specified by handle and is ready to perform I/O.

§Panics

This function panics if thread-local runtime is not set.

The runtime is usually set implicitly when this function is called from a future driven by a tokio runtime, otherwise runtime can be set explicitly with Handle::enter function.

Source

pub fn pair() -> Result<(UnixStream, UnixStream)>

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 default event loop’s handle.

Source

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

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

Source

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

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

Source

pub fn peer_cred(&self) -> Result<UCred>

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

Source

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

Returns the value of the SO_ERROR option.

Source

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).

Source

pub fn split(&mut self) -> (ReadHalf<'_>, WriteHalf<'_>)

Split a UnixStream into a read half and a write half, which can be used to read and write the stream concurrently.

See the module level documenation of split for more details.

Trait Implementations§

Source§

impl AsRawFd for UnixStream

Source§

fn as_raw_fd(&self) -> RawFd

Extracts the raw file descriptor. Read more
Source§

impl AsRef<UnixStream> for ReadHalf<'_>

Source§

fn as_ref(&self) -> &UnixStream

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<UnixStream> for WriteHalf<'_>

Source§

fn as_ref(&self) -> &UnixStream

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsyncRead for UnixStream

Source§

unsafe fn prepare_uninitialized_buffer(&self, _: &mut [MaybeUninit<u8>]) -> bool

Prepares an uninitialized buffer to be safe to pass to read. Returns true if the supplied buffer was zeroed out. Read more
Source§

fn poll_read( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &mut [u8], ) -> Poll<Result<usize>>

Attempt to read from the AsyncRead into buf. Read more
Source§

fn poll_read_buf<B: BufMut>( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &mut B, ) -> Poll<Result<usize>>
where Self: Sized,

Pull some bytes from this source into the specified BufMut, returning how many bytes were read. Read more
Source§

impl AsyncWrite for UnixStream

Source§

fn poll_write( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize>>

Attempt to write bytes from buf into the object. Read more
Source§

fn poll_flush(self: Pin<&mut Self>, _: &mut Context<'_>) -> Poll<Result<()>>

Attempt to flush the object, ensuring that any buffered data reach their destination. Read more
Source§

fn poll_shutdown(self: Pin<&mut Self>, _: &mut Context<'_>) -> Poll<Result<()>>

Initiates or attempts to shut down this writer, returning success when the I/O connection has completely shut down. Read more
Source§

fn poll_write_buf<B: Buf>( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &mut B, ) -> Poll<Result<usize, Error>>
where Self: Sized,

Write a Buf into this value, returning how many bytes were written. Read more
Source§

impl Debug for UnixStream

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl TryFrom<UnixStream> for UnixStream

Source§

fn try_from(value: UnixStream) -> Result<Self, Self::Error>

Consumes value, returning the mio I/O object.

See PollEvented::into_inner for more details about resource deregistration that happens during the call.

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

impl TryFrom<UnixStream> for UnixStream

Source§

fn try_from(stream: UnixStream) -> Result<Self>

Consumes stream, returning the tokio I/O object.

This is equivalent to UnixStream::from_std(stream).

Source§

type Error = Error

The type returned in the event of a conversion error.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<R> AsyncReadExt for R
where R: AsyncRead + ?Sized,

Source§

fn chain<R>(self, next: R) -> Chain<Self, R>
where Self: Sized, R: AsyncRead,

Available on crate feature io-util only.
Create a new AsyncRead instance that chains this stream with next. Read more
Source§

fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> Read<'a, Self>
where Self: Unpin,

Available on crate feature io-util only.
Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more
Source§

fn read_buf<'a, B>(&'a mut self, buf: &'a mut B) -> ReadBuf<'a, Self, B>
where Self: Sized, B: BufMut,

Available on crate feature io-util only.
Pull some bytes from this source into the specified buffer, advancing the buffer’s internal cursor. Read more
Source§

fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExact<'a, Self>
where Self: Unpin,

Available on crate feature io-util only.
Read the exact number of bytes required to fill buf. Read more
Source§

fn read_u8<'a>(&'a mut self) -> ReadU8<&'a mut Self>
where Self: Unpin,

Available on crate feature io-util only.
Reads an unsigned 8 bit integer from the underlying reader. Read more
Source§

fn read_i8<'a>(&'a mut self) -> ReadI8<&'a mut Self>
where Self: Unpin,

Available on crate feature io-util only.
Reads a signed 8 bit integer from the underlying reader. Read more
Source§

fn read_u16<'a>(&'a mut self) -> ReadU16<&'a mut Self>
where Self: Unpin,

Available on crate feature io-util only.
Reads an unsigned 16-bit integer in big-endian order from the underlying reader. Read more
Source§

fn read_i16<'a>(&'a mut self) -> ReadI16<&'a mut Self>
where Self: Unpin,

Available on crate feature io-util only.
Reads a signed 16-bit integer in big-endian order from the underlying reader. Read more
Source§

fn read_u32<'a>(&'a mut self) -> ReadU32<&'a mut Self>
where Self: Unpin,

Available on crate feature io-util only.
Reads an unsigned 32-bit integer in big-endian order from the underlying reader. Read more
Source§

fn read_i32<'a>(&'a mut self) -> ReadI32<&'a mut Self>
where Self: Unpin,

Available on crate feature io-util only.
Reads a signed 32-bit integer in big-endian order from the underlying reader. Read more
Source§

fn read_u64<'a>(&'a mut self) -> ReadU64<&'a mut Self>
where Self: Unpin,

Available on crate feature io-util only.
Reads an unsigned 64-bit integer in big-endian order from the underlying reader. Read more
Source§

fn read_i64<'a>(&'a mut self) -> ReadI64<&'a mut Self>
where Self: Unpin,

Available on crate feature io-util only.
Reads an signed 64-bit integer in big-endian order from the underlying reader. Read more
Source§

fn read_u128<'a>(&'a mut self) -> ReadU128<&'a mut Self>
where Self: Unpin,

Available on crate feature io-util only.
Reads an unsigned 128-bit integer in big-endian order from the underlying reader. Read more
Source§

fn read_i128<'a>(&'a mut self) -> ReadI128<&'a mut Self>
where Self: Unpin,

Available on crate feature io-util only.
Reads an signed 128-bit integer in big-endian order from the underlying reader. Read more
Source§

fn read_to_end<'a>(&'a mut self, buf: &'a mut Vec<u8>) -> ReadToEnd<'a, Self>
where Self: Unpin,

Available on crate feature io-util only.
Read all bytes until EOF in this source, placing them into buf. Read more
Source§

fn read_to_string<'a>( &'a mut self, dst: &'a mut String, ) -> ReadToString<'a, Self>
where Self: Unpin,

Available on crate feature io-util only.
Read all bytes until EOF in this source, appending them to buf. Read more
Source§

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

Available on crate feature io-util only.
Creates an adaptor which reads at most limit bytes from it. Read more
Source§

impl<W> AsyncWriteExt for W
where W: AsyncWrite + ?Sized,

Source§

fn write<'a>(&'a mut self, src: &'a [u8]) -> Write<'a, Self>
where Self: Unpin,

Available on crate feature io-util only.
Write a buffer into this writer, returning how many bytes were written. Read more
Source§

fn write_buf<'a, B>(&'a mut self, src: &'a mut B) -> WriteBuf<'a, Self, B>
where Self: Sized, B: Buf,

Available on crate feature io-util only.
Write a buffer into this writer, advancing the buffer’s internal cursor. Read more
Source§

fn write_all<'a>(&'a mut self, src: &'a [u8]) -> WriteAll<'a, Self>
where Self: Unpin,

Available on crate feature io-util only.
Attempts to write an entire buffer into this writer. Read more
Source§

fn write_u8<'a>(&'a mut self, n: u8) -> WriteU8<&'a mut Self>
where Self: Unpin,

Available on crate feature io-util only.
Writes an unsigned 8-bit integer to the underlying writer. Read more
Source§

fn write_i8<'a>(&'a mut self, n: i8) -> WriteI8<&'a mut Self>
where Self: Unpin,

Available on crate feature io-util only.
Writes an unsigned 8-bit integer to the underlying writer. Read more
Source§

fn write_u16<'a>(&'a mut self, n: u16) -> WriteU16<&'a mut Self>
where Self: Unpin,

Available on crate feature io-util only.
Writes an unsigned 16-bit integer in big-endian order to the underlying writer. Read more
Source§

fn write_i16<'a>(&'a mut self, n: i16) -> WriteI16<&'a mut Self>
where Self: Unpin,

Available on crate feature io-util only.
Writes a signed 16-bit integer in big-endian order to the underlying writer. Read more
Source§

fn write_u32<'a>(&'a mut self, n: u32) -> WriteU32<&'a mut Self>
where Self: Unpin,

Available on crate feature io-util only.
Writes an unsigned 32-bit integer in big-endian order to the underlying writer. Read more
Source§

fn write_i32<'a>(&'a mut self, n: i32) -> WriteI32<&'a mut Self>
where Self: Unpin,

Available on crate feature io-util only.
Writes a signed 32-bit integer in big-endian order to the underlying writer. Read more
Source§

fn write_u64<'a>(&'a mut self, n: u64) -> WriteU64<&'a mut Self>
where Self: Unpin,

Available on crate feature io-util only.
Writes an unsigned 64-bit integer in big-endian order to the underlying writer. Read more
Source§

fn write_i64<'a>(&'a mut self, n: i64) -> WriteI64<&'a mut Self>
where Self: Unpin,

Available on crate feature io-util only.
Writes an signed 64-bit integer in big-endian order to the underlying writer. Read more
Source§

fn write_u128<'a>(&'a mut self, n: u128) -> WriteU128<&'a mut Self>
where Self: Unpin,

Available on crate feature io-util only.
Writes an unsigned 128-bit integer in big-endian order to the underlying writer. Read more
Source§

fn write_i128<'a>(&'a mut self, n: i128) -> WriteI128<&'a mut Self>
where Self: Unpin,

Available on crate feature io-util only.
Writes an signed 128-bit integer in big-endian order to the underlying writer. Read more
Source§

fn flush(&mut self) -> Flush<'_, Self>
where Self: Unpin,

Available on crate feature io-util only.
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
Source§

fn shutdown(&mut self) -> Shutdown<'_, Self>
where Self: Unpin,

Available on crate feature io-util only.
Shuts down the output stream, ensuring that the value can be dropped cleanly. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.