[−][src]Struct romio::uds::UnixDatagram
An I/O object representing a Unix datagram socket.
Methods
impl UnixDatagram
[src]
pub fn bind(path: impl AsRef<Path>) -> Result<UnixDatagram>
[src]
Creates a new UnixDatagram
bound to the specified path.
Examples
use romio::uds::UnixDatagram; let sock = UnixDatagram::bind("/tmp/sock")?;
pub fn pair() -> Result<(UnixDatagram, UnixDatagram)>
[src]
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 event loop whose handle is also provided.
Examples
use romio::uds::UnixDatagram; let (sock1, sock2) = UnixDatagram::pair()?;
pub fn unbound() -> Result<UnixDatagram>
[src]
Creates a new UnixDatagram
which is not bound to any address.
Examples
use romio::uds::UnixDatagram; let sock = UnixDatagram::unbound()?;
pub fn local_addr(&self) -> Result<SocketAddr>
[src]
Returns the local address that this socket is bound to.
Examples
use romio::uds::UnixDatagram; let stream = UnixDatagram::bind("/tmp/sock")?; let addr = stream.local_addr()?;
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.
Examples
use romio::uds::UnixDatagram; let stream = UnixDatagram::bind("/tmp/sock")?; let addr = stream.peer_addr()?;
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
).
Examples
use romio::uds::UnixDatagram; use std::net::Shutdown; let stream = UnixDatagram::bind("/tmp/sock")?; stream.shutdown(Shutdown::Both)?;
Trait Implementations
impl Debug for UnixDatagram
[src]
impl AsRawFd for UnixDatagram
[src]
impl AsyncWriteReady for UnixDatagram
[src]
type Ok = Ready
The type of successful values yielded by this trait.
type Err = Error
The type of failures yielded by this trait.
fn poll_write_ready(
self: Pin<&mut Self>,
cx: &mut Context
) -> Poll<Result<Self::Ok, Self::Err>>
[src]
self: Pin<&mut Self>,
cx: &mut Context
) -> Poll<Result<Self::Ok, Self::Err>>
Test whether this socket is ready to be written to or not.
default fn poll_write_ready_unpin(
self: Pin<&mut Self>,
cx: &mut Context
) -> Poll<Result<Self::Ok, Self::Err>> where
Self: Unpin,
[src]
self: Pin<&mut Self>,
cx: &mut Context
) -> Poll<Result<Self::Ok, Self::Err>> where
Self: Unpin,
A convenience for calling AsyncWriteReady::poll_write_ready
on Unpin
types.
impl AsyncReadReady for UnixDatagram
[src]
type Ok = Ready
The type of successful values yielded by this trait.
type Err = Error
The type of failures yielded by this trait.
fn poll_read_ready(
self: Pin<&mut Self>,
cx: &mut Context
) -> Poll<Result<Self::Ok, Self::Err>>
[src]
self: Pin<&mut Self>,
cx: &mut Context
) -> Poll<Result<Self::Ok, Self::Err>>
Test whether this socket is ready to be read or not.
default fn poll_read_ready_unpin(
self: Pin<&mut Self>,
cx: &mut Context
) -> Poll<Result<Self::Ok, Self::Err>> where
Self: Unpin,
[src]
self: Pin<&mut Self>,
cx: &mut Context
) -> Poll<Result<Self::Ok, Self::Err>> where
Self: Unpin,
A convenience for calling AsyncReadReady::poll_read_ready
on Unpin
types.
impl TakeError for UnixDatagram
[src]
type Ok = Error
The type of successful values yielded by this trait.
type Err = Error
The type of failures yielded by this trait.
fn take_error(&self) -> Result<Option<Self::Ok>, Self::Err>
[src]
Returns the value of the SO_ERROR
option.
Examples
use romio::raw::TakeError; use romio::uds::UnixDatagram; let stream = UnixDatagram::bind("/tmp/sock")?; if let Ok(Some(err)) = stream.take_error() { println!("Got error: {:?}", err); }
impl AsyncDatagram for UnixDatagram
[src]
type Sender = SocketAddr
Specifies which target to send the data to.
type Receiver = PathBuf
Specifies which target the data was received from.
type Err = Error
The type of failures yielded by this trait.
fn poll_send_to(
self: Pin<&mut Self>,
cx: &mut Context,
buf: &[u8],
receiver: &Self::Receiver
) -> Poll<Result<usize>>
[src]
self: Pin<&mut Self>,
cx: &mut Context,
buf: &[u8],
receiver: &Self::Receiver
) -> Poll<Result<usize>>
fn poll_recv_from(
self: Pin<&mut Self>,
cx: &mut Context,
buf: &mut [u8]
) -> Poll<Result<(usize, Self::Sender)>>
[src]
self: Pin<&mut Self>,
cx: &mut Context,
buf: &mut [u8]
) -> Poll<Result<(usize, Self::Sender)>>
Auto Trait Implementations
impl Send for UnixDatagram
impl Sync for UnixDatagram
Blanket Implementations
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,