Skip to main content

UnixSocket

Struct UnixSocket 

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

A Unix socket that has not yet been converted to a UnixStream or UnixListener.

Implementations§

Source§

impl UnixSocket

Source

pub async fn new_stream() -> Result<UnixSocket, Error>

Creates a new Unix stream socket.

Source

pub fn local_addr(&self) -> Result<SockAddr, Error>

Returns the local address that this socket is bound to.

Source

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

Returns the value of the SO_ERROR option.

Source

pub async fn bind(&self, path: impl AsRef<Path>) -> Result<(), Error>

Binds the socket to the given address.

Source

pub async fn bind_addr(&self, addr: &SockAddr) -> Result<(), Error>

Binds the socket to the given address.

Source

pub async fn listen(self, backlog: i32) -> Result<UnixListener, Error>

Converts the socket into a UnixListener.

backlog defines the maximum number of pending connections are queued by the operating system at any given time. Connections are removed from the queue with UnixListener::accept. When the queue is full, the operating-system will start rejecting connections.

Source

pub async fn connect(self, path: impl AsRef<Path>) -> Result<UnixStream, Error>

Establishes a Unix connection with a peer at the specified socket address.

See UnixSocket::connect_addr for more details.

Source

pub async fn connect_addr(self, addr: &SockAddr) -> Result<UnixStream, Error>

Establishes a Unix connection with a peer at the specified socket address.

The UnixSocket is consumed. Once the connection is established, a connected UnixStream is returned. If the connection fails, the encountered error is returned.

On Windows, the socket should be bound to an empty address before connecting.

Trait Implementations§

Source§

impl AsRawFd for UnixSocket

Source§

fn as_raw_fd(&self) -> *mut c_void

Extracts the raw fd.
Source§

impl AsRawSocket for UnixSocket

Available on Windows only.
Source§

fn as_raw_socket(&self) -> u64

Extracts the raw socket. Read more
Source§

impl AsSocket for UnixSocket

Available on Windows only.
Source§

fn as_socket(&self) -> BorrowedSocket<'_>

Borrows the socket.
Source§

impl Debug for UnixSocket

Source§

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

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

impl FromRawSocket for UnixSocket

Available on Windows only.
Source§

unsafe fn from_raw_socket(sock: u64) -> UnixSocket

Constructs a new I/O object from the specified raw socket. Read more
Source§

impl ToSharedFd<Socket> for UnixSocket

Source§

fn to_shared_fd(&self) -> SharedFd<Socket>

Return a cloned SharedFd.

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
§

impl<T> AsFd for T
where T: AsSocket,

§

fn as_fd(&self) -> BorrowedSocket<'_>

An as_fd function for Winsock, where an Fd is a Socket.
§

impl<T> AsRawFd for T
where T: AsRawSocket,

§

fn as_raw_fd(&self) -> u64

A version of as_raw_fd for use with Winsock API.
§

impl<T> AsRawSocketlike for T
where T: AsRawSocket,

§

fn as_raw_socketlike(&self) -> u64

Returns the raw value.
§

impl<T> AsRawSocketlike for T
where T: AsRawSocket,

§

fn as_raw_socketlike(&self) -> u64

Returns the raw value.
§

impl<T> AsSocketlike for T
where T: AsSocket,

§

fn as_socketlike(&self) -> BorrowedSocket<'_>

Borrows the reference.
§

fn as_socketlike_view<Target>(&self) -> SocketlikeView<'_, Target>
where Target: SocketlikeViewType,

Return a borrowing view of a resource which dereferences to a &Target. Read more
§

impl<T> AsSocketlike for T
where T: AsSocket,

§

fn as_socketlike(&self) -> BorrowedSocket<'_>

Borrows the reference.
§

fn as_socketlike_view<Target>(&self) -> SocketlikeView<'_, Target>
where Target: SocketlikeViewType,

Return a borrowing view of a resource which dereferences to a &Target. 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.

§

impl<T> FromRawFd for T
where T: FromRawSocket,

§

unsafe fn from_raw_fd(raw_fd: u64) -> T

A version of from_raw_fd for use with Winsock API. Read more
§

impl<T> FromRawSocketlike for T
where T: FromRawSocket,

§

unsafe fn from_raw_socketlike(raw: u64) -> T

Constructs Self from the raw value.
§

impl<T> FromRawSocketlike for T
where T: FromRawSocket,

§

unsafe fn from_raw_socketlike(raw: u64) -> T

Constructs Self from the raw value.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> Ungil for T
where T: Send,