cap_std::net

Struct UdpSocket

Source
pub struct UdpSocket { /* private fields */ }
Available on non-WASI only.
Expand description

A UDP socket.

This corresponds to std::net::UdpSocket.

This UdpSocket has no bind, connect, or send_to methods. To create a UdpSocket bound to an address or to send a message to an address, first obtain a Pool permitting the address, and then call Pool::bind_udp_socket, or Pool::connect_udp_socket, or Pool::send_to_udp_socket_addr.

Implementations§

Source§

impl UdpSocket

Source

pub fn from_std(std: UdpSocket) -> Self

Constructs a new instance of Self from the given std::net::UdpSocket.

This grants access the resources the std::net::UdpSocket instance already has access to.

Source

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

Receives a single datagram message on the socket.

This corresponds to std::net::UdpSocket::recv_from.

Source

pub fn peek_from(&self, buf: &mut [u8]) -> Result<(usize, SocketAddr)>

Receives a single datagram message on the socket, without removing it from the queue.

This corresponds to std::net::UdpSocket::peek_from.

Source

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

Returns the socket address of the remote peer this socket was connected to.

This corresponds to std::net::UdpSocket::peer_addr.

Source

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

Returns the socket address that this socket was created from.

This corresponds to std::net::UdpSocket::local_addr.

Source

pub fn try_clone(&self) -> Result<Self>

Creates a new independently owned handle to the underlying socket.

This corresponds to std::net::UdpSocket::try_clone.

Source

pub fn set_read_timeout(&self, dur: Option<Duration>) -> Result<()>

Sets the read timeout to the timeout specified.

This corresponds to std::net::UdpSocket::set_read_timeout.

Source

pub fn set_write_timeout(&self, dur: Option<Duration>) -> Result<()>

Sets the write timeout to the timeout specified.

This corresponds to std::net::UdpSocket::set_write_timeout.

Source

pub fn read_timeout(&self) -> Result<Option<Duration>>

Returns the read timeout of this socket.

This corresponds to std::net::UdpSocket::read_timeout.

Source

pub fn write_timeout(&self) -> Result<Option<Duration>>

Returns the write timeout of this socket.

This corresponds to std::net::UdpSocket::write_timeout.

Source

pub fn set_broadcast(&self, broadcast: bool) -> Result<()>

Sets the value of the SO_BROADCAST option for this socket.

This corresponds to std::net::UdpSocket::set_broadcast.

Source

pub fn broadcast(&self) -> Result<bool>

Gets the value of the SO_BROADCAST option for this socket.

This corresponds to std::net::UdpSocket::broadcast.

Source

pub fn set_multicast_loop_v4(&self, multicast_loop_v4: bool) -> Result<()>

Sets the value of the IP_MULTICAST_LOOP option for this socket.

This corresponds to std::net::UdpSocket::set_multicast_loop_v4.

Source

pub fn multicast_loop_v4(&self) -> Result<bool>

Gets the value of the IP_MULTICAST_LOOP option for this socket.

This corresponds to std::net::UdpSocket::multicast_loop_v4.

Source

pub fn set_multicast_ttl_v4(&self, multicast_ttl_v4: u32) -> Result<()>

Sets the value of the IP_MULTICAST_TTL option for this socket.

This corresponds to std::net::UdpSocket::set_multicast_ttl_v4.

Source

pub fn multicast_ttl_v4(&self) -> Result<u32>

Gets the value of the IP_MULTICAST_TTL option for this socket.

This corresponds to std::net::UdpSocket::multicast_ttl_v4.

Source

pub fn set_multicast_loop_v6(&self, multicast_loop_v6: bool) -> Result<()>

Sets the value of the IPV6_MULTICAST_LOOP option for this socket.

This corresponds to std::net::UdpSocket::set_multicast_loop_v6.

Source

pub fn multicast_loop_v6(&self) -> Result<bool>

Gets the value of the IPV6_MULTICAST_LOOP option for this socket.

This corresponds to std::net::UdpSocket::multicast_loop_v6.

Source

pub fn set_ttl(&self, ttl: u32) -> Result<()>

Sets the value for the IP_TTL option on this socket.

This corresponds to std::net::UdpSocket::set_ttl.

Source

pub fn ttl(&self) -> Result<u32>

Gets the value of the IP_TTL option for this socket.

This corresponds to std::net::UdpSocket::ttl.

Source

pub fn join_multicast_v4( &self, multiaddr: &Ipv4Addr, interface: &Ipv4Addr, ) -> Result<()>

Executes an operation of the IP_ADD_MEMBERSHIP type.

This corresponds to std::net::UdpSocket::join_multicast_v4.

Source

pub fn join_multicast_v6( &self, multiaddr: &Ipv6Addr, interface: u32, ) -> Result<()>

Executes an operation of the IPV6_ADD_MEMBERSHIP type.

This corresponds to std::net::UdpSocket::join_multicast_v6.

Source

pub fn leave_multicast_v4( &self, multiaddr: &Ipv4Addr, interface: &Ipv4Addr, ) -> Result<()>

Executes an operation of the IP_DROP_MEMBERSHIP type.

This corresponds to std::net::UdpSocket::leave_multicast_v4.

Source

pub fn leave_multicast_v6( &self, multiaddr: &Ipv6Addr, interface: u32, ) -> Result<()>

Executes an operation of the IPV6_DROP_MEMBERSHIP type.

This corresponds to std::net::UdpSocket::leave_multicast_v6.

Source

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

Gets the value of the SO_ERROR option on this socket.

This corresponds to std::net::UdpSocket::take_error.

Source

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

Sends data on the socket to the remote address to which it is connected.

This corresponds to std::net::UdpSocket::send.

Source

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

Receives a single datagram message on the socket from the remote address to which it is connected.

This corresponds to std::net::UdpSocket::recv.

Source

pub fn peek(&self, buf: &mut [u8]) -> Result<usize>

Receives single datagram on the socket from the remote address to which it is connected, without removing the message from input queue.

This corresponds to std::net::UdpSocket::peek.

Source

pub fn set_nonblocking(&self, nonblocking: bool) -> Result<()>

Moves this UDP socket into or out of nonblocking mode.

This corresponds to std::net::UdpSocket::set_nonblocking.

Trait Implementations§

Source§

impl AsHandleOrSocket for UdpSocket

Available on Windows only.
Source§

impl AsRawHandleOrSocket for UdpSocket

Available on Windows only.
Source§

impl AsRawSocket for UdpSocket

Available on Windows only.
Source§

fn as_raw_socket(&self) -> RawSocket

Extracts the raw socket. Read more
Source§

impl AsSocket for UdpSocket

Available on Windows only.
Source§

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

Borrows the socket.
Source§

impl Debug for UdpSocket

Source§

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

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

impl From<OwnedSocket> for UdpSocket

Available on Windows only.
Source§

fn from(socket: OwnedSocket) -> Self

Converts to this type from the input type.
Source§

impl From<UdpSocket> for OwnedHandleOrSocket

Available on Windows only.
Source§

fn from(socket: UdpSocket) -> Self

Converts to this type from the input type.
Source§

impl From<UdpSocket> for OwnedSocket

Available on Windows only.
Source§

fn from(socket: UdpSocket) -> OwnedSocket

Converts to this type from the input type.
Source§

impl FromRawSocket for UdpSocket

Available on Windows only.
Source§

unsafe fn from_raw_socket(socket: RawSocket) -> Self

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

impl IntoRawHandleOrSocket for UdpSocket

Available on Windows only.
Source§

impl IntoRawSocket for UdpSocket

Available on Windows only.
Source§

fn into_raw_socket(self) -> RawSocket

Consumes this object, returning the raw underlying socket. Read more
Source§

impl SocketlikeViewType for UdpSocket

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> AsGrip for T

Source§

fn as_grip(&self) -> BorrowedHandleOrSocket<'_>

Extracts the grip.
Source§

impl<T> AsRawGrip for T

Source§

fn as_raw_grip(&self) -> RawHandleOrSocket

Extracts the raw grip.
Source§

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

Source§

fn as_raw_socketlike(&self) -> u32

Returns the raw value.
Source§

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

Source§

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

Borrows the reference.
Source§

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.

Source§

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

Source§

unsafe fn from_raw_socketlike(raw: u32) -> T

Constructs Self from the raw value.
Source§

impl<T> FromSocket for T
where T: From<OwnedSocket>,

Source§

fn from_socket(owned_socket: OwnedSocket) -> T

👎Deprecated since 1.0.0: FromSocket::from_socket is replaced by From<OwnedSocket>::from
Constructs a new instance of Self from the given socket.
Source§

fn from_into_socket<Owned>(into_owned: Owned) -> Self
where Owned: Into<OwnedSocket>, Self: Sized + From<OwnedSocket>,

Constructs a new instance of Self from the given socket converted from into_owned.
Source§

impl<T> FromSocketlike for T
where T: From<OwnedSocket>,

Source§

fn from_socketlike(owned: OwnedSocket) -> T

Constructs a new instance of Self from the given socketlike object.
Source§

fn from_into_socketlike<Owned>(owned: Owned) -> T
where Owned: IntoSocketlike,

Constructs a new instance of Self from the given socketlike object converted from into_owned.
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> IntoGrip for T

Source§

fn into_grip(self) -> OwnedHandleOrSocket

Consume self and convert into an OwnedGrip.
Source§

impl<T> IntoRawGrip for T

Source§

fn into_raw_grip(self) -> RawHandleOrSocket

Consume self and convert into an RawGrip.
Source§

impl<T> IntoRawSocketlike for T
where T: IntoRawSocket,

Source§

fn into_raw_socketlike(self) -> u32

Returns the raw value.
Source§

impl<T> IntoSocket for T
where OwnedSocket: From<T>,

Source§

fn into_socket(self) -> OwnedSocket

👎Deprecated since 1.0.0: IntoSocket is replaced by From<...> for OwnedSocket or Into<OwnedSocket>
Consumes this object, returning the underlying socket.
Source§

impl<T> IntoSocketlike for T
where T: Into<OwnedSocket>,

Source§

fn into_socketlike(self) -> OwnedSocket

Consumes this object, returning the underlying socketlike object. Read more
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.