tokio_uds

Struct UnixListener

Source
pub struct UnixListener { /* private fields */ }
Expand description

A Unix socket which can accept connections from other Unix sockets.

Implementations§

Source§

impl UnixListener

Source

pub fn bind<P>(path: P) -> Result<UnixListener>
where P: AsRef<Path>,

Creates a new UnixListener bound to the specified path.

Source

pub fn from_std(listener: UnixListener, handle: &Handle) -> Result<UnixListener>

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

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

Source

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

Returns the local socket address of this listener.

Source

pub fn poll_read_ready(&self, ready: Ready) -> Poll<Ready, Error>

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

Source

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

Returns the value of the SO_ERROR option.

Source

pub fn poll_accept(&self) -> Poll<(UnixStream, SocketAddr), Error>

Attempt to accept a connection and create a new connected UnixStream if successful.

This function will attempt an accept operation, but will not block waiting for it to complete. If the operation would block then a “would block” error is returned. Additionally, if this method would block, it registers the current task to receive a notification when it would otherwise not block.

Note that typically for simple usage it’s easier to treat incoming connections as a Stream of UnixStreams with the incoming method below.

§Panics

This function will panic if it is called outside the context of a future’s task. It’s recommended to only call this from the implementation of a Future::poll, if necessary.

Source

pub fn poll_accept_std(&self) -> Poll<(UnixStream, SocketAddr), Error>

Attempt to accept a connection and create a new connected UnixStream if successful.

This function is the same as poll_accept above except that it returns a mio_uds::UnixStream instead of a tokio_udp::UnixStream. This in turn can then allow for the stream to be associated with a different reactor than the one this UnixListener is associated with.

This function will attempt an accept operation, but will not block waiting for it to complete. If the operation would block then a “would block” error is returned. Additionally, if this method would block, it registers the current task to receive a notification when it would otherwise not block.

Note that typically for simple usage it’s easier to treat incoming connections as a Stream of UnixStreams with the incoming method below.

§Panics

This function will panic if it is called outside the context of a future’s task. It’s recommended to only call this from the implementation of a Future::poll, if necessary.

Source

pub fn incoming(self) -> Incoming

Consumes this listener, returning a stream of the sockets this listener accepts.

This method returns an implementation of the Stream trait which resolves to the sockets the are accepted on this listener.

Trait Implementations§

Source§

impl AsRawFd for UnixListener

Source§

fn as_raw_fd(&self) -> RawFd

Extracts the raw file descriptor. Read more
Source§

impl Debug for UnixListener

Source§

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

Formats the value using the given formatter. Read more

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