# [−] [src] Struct mio::net::UnixDatagram

    pub struct UnixDatagram { /* fields omitted */ }

A Unix datagram socket.

## Implementations

### `impl UnixDatagram` [src]

#### `pub fn bind<P: AsRef<Path>>(path: P) -> Result<UnixDatagram>` [src]

Creates a Unix datagram socket bound to the given path.

#### `pub fn from_std(socket: UnixDatagram) -> UnixDatagram` [src]

Creates a new `UnixDatagram` from a standard `net::UnixDatagram`.

This function is intended to be used to wrap a Unix datagram from the standard library in the Mio equivalent. The conversion assumes nothing about the underlying datagram; ; it is left up to the user to set it in non-blocking mode.

#### `pub fn connect<P: AsRef<Path>>(&self, path: P) -> Result<()>` [src]

Connects the socket to the specified address.

#### `pub fn unbound() -> Result<UnixDatagram>` [src]

Creates a Unix Datagram socket which is not bound to any address.

#### `pub fn pair() -> Result<(UnixDatagram, UnixDatagram)>` [src]

Create an unnamed pair of connected sockets.

#### `pub fn local_addr(&self) -> Result<SocketAddr>` [src]

Returns the address of this socket.

#### `pub fn peer_addr(&self) -> Result<SocketAddr>` [src]

Returns the address of this socket's peer.

The `connect` method will connect the socket to a peer.

#### `pub fn recv_from(&self, buf: &mut [u8]) -> Result<(usize, SocketAddr)>` [src]

Receives data from the socket.

On success, returns the number of bytes read and the address from whence the data came.

#### `pub fn recv(&self, buf: &mut [u8]) -> Result<usize>` [src]

Receives data from the socket.

On success, returns the number of bytes read.

#### `pub fn send_to<P: AsRef<Path>>(&self, buf: &[u8], path: P) -> Result<usize>` [src]

Sends data on the socket to the specified address.

On success, returns the number of bytes written.

#### `pub fn send(&self, buf: &[u8]) -> Result<usize>` [src]

Sends data on the socket to the socket's peer.

The peer address may be set by the `connect` method, and this method will return an error if the socket has not already been connected.

On success, returns the number of bytes written.

#### `pub fn take_error(&self) -> Result<Option<Error>>` [src]

Returns the value of the `SO_ERROR` option.

#### `pub fn shutdown(&self, how: Shutdown) -> Result<()>` [src]

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

## Trait Implementations

### `impl AsRawFd for UnixDatagram` [src]

#### `fn as_raw_fd(&self) -> RawFd` [src]

Extracts the raw file descriptor. Read more

### `impl Debug for UnixDatagram` [src]

#### `fn fmt(&self, f: &mut Formatter<'_>) -> Result` [src]

Formats the value using the given formatter. Read more

### `impl FromRawFd for UnixDatagram` [src]

#### `unsafe fn from_raw_fd(fd: RawFd) -> UnixDatagram` [src]

Converts a `RawFd` to a `UnixDatagram`.

# Notes

The caller is responsible for ensuring that the socket is in non-blocking mode.

### `impl IntoRawFd for UnixDatagram` [src]

#### `fn into_raw_fd(self) -> RawFd` [src]

Consumes this object, returning the raw underlying file descriptor. Read more

### `impl Source for UnixDatagram` [src]

#### `fn register(
&mut self,
registry: &Registry,
token: Token,
interests: Interest
) -> Result<()>` [src]

Register `self` with the given `Registry` instance. Read more

#### `fn reregister(
&mut self,
registry: &Registry,
token: Token,
interests: Interest
) -> Result<()>` [src]

Re-register `self` with the given `Registry` instance. Read more

#### `fn deregister(&mut self, registry: &Registry) -> Result<()>` [src]

Deregister `self` from the given `Registry` instance. Read more

## Auto Trait Implementations

### `impl RefUnwindSafe for UnixDatagram`

### `impl Send for UnixDatagram`

### `impl Sync for UnixDatagram`

### `impl Unpin for UnixDatagram`

### `impl UnwindSafe for UnixDatagram`

## Blanket Implementations

### `impl<T> Any for T where
T: 'static + ?Sized,` [src]

#### `pub fn type_id(&self) -> TypeId` [src]

Gets the `TypeId` of `self`. Read more

### `impl<T> Borrow<T> for T where
T: ?Sized,` [src]

#### `pub fn borrow(&self) -> &T` [src]

Immutably borrows from an owned value. Read more

### `impl<T> BorrowMut<T> for T where
T: ?Sized,` [src]

#### `pub fn borrow_mut(&mut self) -> &mut T` [src]

Mutably borrows from an owned value. Read more

### `impl<T> From<T> for T` [src]

#### `pub fn from(t: T) -> T` [src]

Performs the conversion.

### `impl<T, U> Into<U> for T where
U: From<T>,` [src]

#### `pub fn into(self) -> U` [src]

Performs the conversion.

### `impl<T, U> TryFrom<U> for T where
U: Into<T>,` [src]

#### `type Error = Infallible`

The type returned in the event of a conversion error.

#### `pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>` [src]

Performs the conversion.

### `impl<T, U> TryInto<U> for T where
U: TryFrom<T>,` [src]

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

The type returned in the event of a conversion error.

#### `pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>` [src]

Performs the conversion.