pub struct UdpSocket { /* private fields */ }Implementations§
Source§impl UdpSocket
impl UdpSocket
Sourcepub fn from_std(socket: UdpSocket) -> Result<Self>
pub fn from_std(socket: UdpSocket) -> Result<Self>
Creates a new UDP socket from a previously created std::net::UdpSocket
Sourcepub fn bind<A: ToSocketAddrs>(addr: A) -> Result<Self>
pub fn bind<A: ToSocketAddrs>(addr: A) -> Result<Self>
create a new UDP socket and attempt to bind to addr
Sourcepub fn set_nonblocking(&self, nonblocking: bool) -> Result<()>
pub fn set_nonblocking(&self, nonblocking: bool) -> Result<()>
sets nonblocking mode
Sourcepub fn set_broadcast(&self, broadcast: bool) -> Result<()>
pub fn set_broadcast(&self, broadcast: bool) -> Result<()>
sets the value of SO_BROADCAST for this socket
pub fn connect<A: ToSocketAddrs>(&self, addrs: A) -> Result<()>
pub fn join_multicast_v4( &self, multiaddr: Ipv4Addr, interface: Ipv4Addr, ) -> Result<()>
pub fn join_multicast_v6( &self, multiaddr: &Ipv6Addr, interface: u32, ) -> Result<()>
pub fn leave_multicast_v4( &self, multiaddr: Ipv4Addr, interface: Ipv4Addr, ) -> Result<()>
pub fn leave_multicast_v6( &self, multiaddr: &Ipv6Addr, interface: u32, ) -> Result<()>
pub fn set_multicast_loop_v4(&self, on: bool) -> Result<()>
pub fn set_multicast_loop_v6(&self, on: bool) -> Result<()>
Sourcepub fn send_to(&self, buf: &[u8], target: SocketAddr) -> Result<usize>
pub fn send_to(&self, buf: &[u8], target: SocketAddr) -> Result<usize>
Sends data on the socket to the given address. On success, returns the number of bytes written.
calls underlying tokio send_to
Sourcepub fn send(&self, buf: &[u8]) -> Result<usize>
pub fn send(&self, buf: &[u8]) -> Result<usize>
Sends data on the socket to the remote address that the socket is connected to.
See tokio send
Sourcepub fn recv_from(&self, buf: &mut [u8]) -> Result<(usize, SocketAddr)>
pub fn recv_from(&self, buf: &mut [u8]) -> Result<(usize, SocketAddr)>
Receives a single datagram message on the socket. On success, returns the number of bytes read and the origin.
See tokio recv_from
Sourcepub fn recv(&self, buf: &mut [u8]) -> Result<usize>
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. On success, returns the number of bytes read.
See tokio recv
Sourcepub fn send_mmsg<B: AsPtr<u8>>(
&self,
state: &UdpState,
transmits: &[Transmit<B>],
) -> Result<usize, Error>
pub fn send_mmsg<B: AsPtr<u8>>( &self, state: &UdpState, transmits: &[Transmit<B>], ) -> Result<usize, Error>
Calls syscall sendmmsg. With a given state configured GSO and
transmits with information on the data and metadata about outgoing packets.
Sourcepub fn send_msg<B: AsPtr<u8>>(
&self,
state: &UdpState,
transmits: Transmit<B>,
) -> Result<usize>
pub fn send_msg<B: AsPtr<u8>>( &self, state: &UdpState, transmits: Transmit<B>, ) -> Result<usize>
Calls syscall sendmsg. With a given state configured GSO and
transmit with information on the data and metadata about outgoing packet.
Sourcepub fn recv_mmsg(
&self,
bufs: &mut [IoSliceMut<'_>],
meta: &mut [RecvMeta],
) -> Result<usize>
pub fn recv_mmsg( &self, bufs: &mut [IoSliceMut<'_>], meta: &mut [RecvMeta], ) -> Result<usize>
async version of recvmmsg
Sourcepub fn recv_msg(&self, buf: &mut [u8]) -> Result<RecvMeta>
pub fn recv_msg(&self, buf: &mut [u8]) -> Result<RecvMeta>
recv_msg is similar to recv_from but returns extra information
about the packet in RecvMeta.
Sourcepub fn local_addr(&self) -> Result<SocketAddr>
pub fn local_addr(&self) -> Result<SocketAddr>
Returns local address this socket is bound to.