pub struct UdpSocket { /* private fields */ }Expand description
A UDP socket.
This corresponds to async_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
 
impl UdpSocket
Sourcepub fn from_std(std: UdpSocket) -> Self
 
pub fn from_std(std: UdpSocket) -> Self
Constructs a new instance of Self from the given
async_std::net::UdpSocket.
This grants access the resources the async_std::net::UdpSocket
instance already has access to.
Sourcepub async fn recv_from(&self, buf: &mut [u8]) -> Result<(usize, SocketAddr)>
 
pub async fn recv_from(&self, buf: &mut [u8]) -> Result<(usize, SocketAddr)>
Receives a single datagram message on the socket.
This corresponds to async_std::net::UdpSocket::recv_from.
Sourcepub fn peer_addr(&self) -> Result<SocketAddr>
 
pub fn peer_addr(&self) -> Result<SocketAddr>
Returns the socket address of the remote peer this socket was connected to.
This corresponds to async_std::net::UdpSocket::peer_addr.
Sourcepub fn local_addr(&self) -> Result<SocketAddr>
 
pub fn local_addr(&self) -> Result<SocketAddr>
Returns the socket address that this socket was created from.
This corresponds to async_std::net::UdpSocket::local_addr.
Sourcepub fn set_broadcast(&self, broadcast: bool) -> Result<()>
 
pub fn set_broadcast(&self, broadcast: bool) -> Result<()>
Sets the value of the SO_BROADCAST option for this socket.
This corresponds to async_std::net::UdpSocket::set_broadcast.
Sourcepub fn broadcast(&self) -> Result<bool>
 
pub fn broadcast(&self) -> Result<bool>
Gets the value of the SO_BROADCAST option for this socket.
This corresponds to async_std::net::UdpSocket::broadcast.
Sourcepub fn set_multicast_loop_v4(&self, multicast_loop_v4: bool) -> Result<()>
 
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
async_std::net::UdpSocket::set_multicast_loop_v4.
Sourcepub fn multicast_loop_v4(&self) -> Result<bool>
 
pub fn multicast_loop_v4(&self) -> Result<bool>
Gets the value of the IP_MULTICAST_LOOP option for this socket.
This corresponds to async_std::net::UdpSocket::multicast_loop_v4.
Sourcepub fn set_multicast_ttl_v4(&self, multicast_ttl_v4: u32) -> Result<()>
 
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
async_std::net::UdpSocket::set_multicast_ttl_v4.
Sourcepub fn multicast_ttl_v4(&self) -> Result<u32>
 
pub fn multicast_ttl_v4(&self) -> Result<u32>
Gets the value of the IP_MULTICAST_TTL option for this socket.
This corresponds to async_std::net::UdpSocket::multicast_ttl_v4.
Sourcepub fn set_multicast_loop_v6(&self, multicast_loop_v6: bool) -> Result<()>
 
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
async_std::net::UdpSocket::set_multicast_loop_v6.
Sourcepub fn multicast_loop_v6(&self) -> Result<bool>
 
pub fn multicast_loop_v6(&self) -> Result<bool>
Gets the value of the IPV6_MULTICAST_LOOP option for this socket.
This corresponds to async_std::net::UdpSocket::multicast_loop_v6.
Sourcepub fn set_ttl(&self, ttl: u32) -> Result<()>
 
pub fn set_ttl(&self, ttl: u32) -> Result<()>
Sets the value for the IP_TTL option on this socket.
This corresponds to async_std::net::UdpSocket::set_ttl.
Sourcepub fn ttl(&self) -> Result<u32>
 
pub fn ttl(&self) -> Result<u32>
Gets the value of the IP_TTL option for this socket.
This corresponds to async_std::net::UdpSocket::ttl.
Sourcepub fn join_multicast_v4(
    &self,
    multiaddr: Ipv4Addr,
    interface: Ipv4Addr,
) -> Result<()>
 
pub fn join_multicast_v4( &self, multiaddr: Ipv4Addr, interface: Ipv4Addr, ) -> Result<()>
Executes an operation of the IP_ADD_MEMBERSHIP type.
This corresponds to async_std::net::UdpSocket::join_multicast_v4.
Sourcepub fn join_multicast_v6(
    &self,
    multiaddr: &Ipv6Addr,
    interface: u32,
) -> Result<()>
 
pub fn join_multicast_v6( &self, multiaddr: &Ipv6Addr, interface: u32, ) -> Result<()>
Executes an operation of the IPV6_ADD_MEMBERSHIP type.
This corresponds to async_std::net::UdpSocket::join_multicast_v6.
Sourcepub fn leave_multicast_v4(
    &self,
    multiaddr: Ipv4Addr,
    interface: Ipv4Addr,
) -> Result<()>
 
pub fn leave_multicast_v4( &self, multiaddr: Ipv4Addr, interface: Ipv4Addr, ) -> Result<()>
Executes an operation of the IP_DROP_MEMBERSHIP type.
This corresponds to async_std::net::UdpSocket::leave_multicast_v4.
Sourcepub fn leave_multicast_v6(
    &self,
    multiaddr: &Ipv6Addr,
    interface: u32,
) -> Result<()>
 
pub fn leave_multicast_v6( &self, multiaddr: &Ipv6Addr, interface: u32, ) -> Result<()>
Executes an operation of the IPV6_DROP_MEMBERSHIP type.
This corresponds to async_std::net::UdpSocket::leave_multicast_v6.
Trait Implementations§
Source§impl AsHandleOrSocket for UdpSocket
Available on Windows only. 
impl AsHandleOrSocket for UdpSocket
Source§fn as_handle_or_socket(&self) -> BorrowedHandleOrSocket<'_>
 
fn as_handle_or_socket(&self) -> BorrowedHandleOrSocket<'_>
AsHandle::as_handle and AsSocket::as_socket
but can return either type.Source§impl AsRawHandleOrSocket for UdpSocket
Available on Windows only. 
impl AsRawHandleOrSocket for UdpSocket
Source§fn as_raw_handle_or_socket(&self) -> RawHandleOrSocket
 
fn as_raw_handle_or_socket(&self) -> RawHandleOrSocket
AsRawHandle::as_raw_handle and AsRawSocket::as_raw_socket
but can return either type.Source§impl AsRawSocket for UdpSocket
Available on Windows only. 
impl AsRawSocket for UdpSocket
Source§fn as_raw_socket(&self) -> RawSocket
 
fn as_raw_socket(&self) -> RawSocket
Source§impl AsSocket for UdpSocket
Available on Windows only. 
impl AsSocket for UdpSocket
Source§fn as_socket(&self) -> BorrowedSocket<'_>
 
fn as_socket(&self) -> BorrowedSocket<'_>
Source§impl From<OwnedSocket> for UdpSocket
Available on Windows only. 
impl From<OwnedSocket> for UdpSocket
Source§fn from(socket: OwnedSocket) -> Self
 
fn from(socket: OwnedSocket) -> Self
Source§impl From<UdpSocket> for OwnedHandleOrSocket
Available on Windows only. 
impl From<UdpSocket> for OwnedHandleOrSocket
Source§impl From<UdpSocket> for OwnedSocket
Available on Windows only. 
impl From<UdpSocket> for OwnedSocket
Source§fn from(socket: UdpSocket) -> OwnedSocket
 
fn from(socket: UdpSocket) -> OwnedSocket
Source§impl FromRawSocket for UdpSocket
Available on Windows only. 
impl FromRawSocket for UdpSocket
Source§unsafe fn from_raw_socket(socket: RawSocket) -> Self
 
unsafe fn from_raw_socket(socket: RawSocket) -> Self
Source§impl IntoRawHandleOrSocket for UdpSocket
Available on Windows only. 
impl IntoRawHandleOrSocket for UdpSocket
Source§fn into_raw_handle_or_socket(self) -> RawHandleOrSocket
 
fn into_raw_handle_or_socket(self) -> RawHandleOrSocket
IntoRawHandle::into_raw_handle and
IntoRawSocket::into_raw_socket but can return either type.Source§impl IntoRawSocket for UdpSocket
Available on Windows only. 
impl IntoRawSocket for UdpSocket
Source§fn into_raw_socket(self) -> RawSocket
 
fn into_raw_socket(self) -> RawSocket
impl SocketlikeViewType for UdpSocket
Auto Trait Implementations§
impl Freeze for UdpSocket
impl RefUnwindSafe for UdpSocket
impl Send for UdpSocket
impl Sync for UdpSocket
impl Unpin for UdpSocket
impl UnwindSafe for UdpSocket
Blanket Implementations§
Source§impl<T> AsFd for Twhere
    T: AsSocket,
 
impl<T> AsFd for Twhere
    T: AsSocket,
Source§fn as_fd(&self) -> BorrowedSocket<'_>
 
fn as_fd(&self) -> BorrowedSocket<'_>
as_fd function for Winsock, where an Fd is a Socket.Source§impl<T> AsGrip for Twhere
    T: AsHandleOrSocket,
 
impl<T> AsGrip for Twhere
    T: AsHandleOrSocket,
Source§fn as_grip(&self) -> BorrowedHandleOrSocket<'_>
 
fn as_grip(&self) -> BorrowedHandleOrSocket<'_>
Source§impl<T> AsRawFd for Twhere
    T: AsRawSocket,
 
impl<T> AsRawFd for Twhere
    T: AsRawSocket,
Source§impl<T> AsRawGrip for Twhere
    T: AsRawHandleOrSocket,
 
impl<T> AsRawGrip for Twhere
    T: AsRawHandleOrSocket,
Source§fn as_raw_grip(&self) -> RawHandleOrSocket
 
fn as_raw_grip(&self) -> RawHandleOrSocket
Source§impl<T> AsRawSocketlike for Twhere
    T: AsRawSocket,
 
impl<T> AsRawSocketlike for Twhere
    T: AsRawSocket,
Source§fn as_raw_socketlike(&self) -> u32
 
fn as_raw_socketlike(&self) -> u32
Source§impl<T> AsSocketlike for Twhere
    T: AsSocket,
 
impl<T> AsSocketlike for Twhere
    T: AsSocket,
Source§fn as_socketlike(&self) -> BorrowedSocket<'_>
 
fn as_socketlike(&self) -> BorrowedSocket<'_>
Source§fn as_socketlike_view<Target>(&self) -> SocketlikeView<'_, Target>where
    Target: SocketlikeViewType,
 
fn as_socketlike_view<Target>(&self) -> SocketlikeView<'_, Target>where
    Target: SocketlikeViewType,
&Target. Read moreSource§impl<T> AsSource for Twhere
    T: AsSocket,
 
impl<T> AsSource for Twhere
    T: AsSocket,
Source§fn source(&self) -> BorrowedSocket<'_>
 
fn source(&self) -> BorrowedSocket<'_>
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> FromRawFd for Twhere
    T: FromRawSocket,
 
impl<T> FromRawFd for Twhere
    T: FromRawSocket,
Source§unsafe fn from_raw_fd(raw_fd: u32) -> T
 
unsafe fn from_raw_fd(raw_fd: u32) -> T
from_raw_fd for use with Winsock API. Read moreSource§impl<T> FromRawSocketlike for Twhere
    T: FromRawSocket,
 
impl<T> FromRawSocketlike for Twhere
    T: FromRawSocket,
Source§unsafe fn from_raw_socketlike(raw: u32) -> T
 
unsafe fn from_raw_socketlike(raw: u32) -> T
Self from the raw value.Source§impl<T> FromSocket for Twhere
    T: From<OwnedSocket>,
 
impl<T> FromSocket for Twhere
    T: From<OwnedSocket>,
Source§fn from_socket(owned_socket: OwnedSocket) -> T
 
fn from_socket(owned_socket: OwnedSocket) -> T
FromSocket::from_socket is replaced by From<OwnedSocket>::fromSelf from the given socket.Source§fn from_into_socket<Owned>(into_owned: Owned) -> Self
 
fn from_into_socket<Owned>(into_owned: Owned) -> Self
Self from the given socket converted
from into_owned.Source§impl<T> FromSocketlike for Twhere
    T: From<OwnedSocket>,
 
impl<T> FromSocketlike for Twhere
    T: From<OwnedSocket>,
Source§fn from_socketlike(owned: OwnedSocket) -> T
 
fn from_socketlike(owned: OwnedSocket) -> T
Self from the given socketlike object.Source§fn from_into_socketlike<Owned>(owned: Owned) -> Twhere
    Owned: IntoSocketlike,
 
fn from_into_socketlike<Owned>(owned: Owned) -> Twhere
    Owned: IntoSocketlike,
Self from the given socketlike object
converted from into_owned.Source§impl<T> IntoGrip for Twhere
    T: Into<OwnedHandleOrSocket>,
 
impl<T> IntoGrip for Twhere
    T: Into<OwnedHandleOrSocket>,
Source§fn into_grip(self) -> OwnedHandleOrSocket
 
fn into_grip(self) -> OwnedHandleOrSocket
self and convert into an OwnedGrip.Source§impl<T> IntoRawFd for Twhere
    T: IntoRawSocket,
 
impl<T> IntoRawFd for Twhere
    T: IntoRawSocket,
Source§fn into_raw_fd(self) -> u32
 
fn into_raw_fd(self) -> u32
into_raw_fd for use with Winsock API.Source§impl<T> IntoRawGrip for Twhere
    T: IntoRawHandleOrSocket,
 
impl<T> IntoRawGrip for Twhere
    T: IntoRawHandleOrSocket,
Source§fn into_raw_grip(self) -> RawHandleOrSocket
 
fn into_raw_grip(self) -> RawHandleOrSocket
self and convert into an RawGrip.Source§impl<T> IntoRawSocketlike for Twhere
    T: IntoRawSocket,
 
impl<T> IntoRawSocketlike for Twhere
    T: IntoRawSocket,
Source§fn into_raw_socketlike(self) -> u32
 
fn into_raw_socketlike(self) -> u32
Source§impl<T> IntoSocket for Twhere
    OwnedSocket: From<T>,
 
impl<T> IntoSocket for Twhere
    OwnedSocket: From<T>,
Source§fn into_socket(self) -> OwnedSocket
 
fn into_socket(self) -> OwnedSocket
IntoSocket is replaced by From<...> for OwnedSocket or Into<OwnedSocket>