[−][src]Trait runtime_raw::UdpSocket
A UDP socket.
Required methods
fn local_addr(&self) -> Result<SocketAddr>
Returns the local address that this listener is bound to.
This can be useful, for example, when binding to port 0 to figure out which port was actually bound.
fn poll_send_to(
self: Pin<&mut Self>,
cx: &mut Context,
buf: &[u8],
receiver: &SocketAddr
) -> Poll<Result<usize>>
self: Pin<&mut Self>,
cx: &mut Context,
buf: &[u8],
receiver: &SocketAddr
) -> Poll<Result<usize>>
Sends data on the IO interface to the specified target.
On success, returns the number of bytes written.
fn poll_recv_from(
self: Pin<&mut Self>,
cx: &mut Context,
buf: &mut [u8]
) -> Poll<Result<(usize, SocketAddr)>>
self: Pin<&mut Self>,
cx: &mut Context,
buf: &mut [u8]
) -> Poll<Result<(usize, SocketAddr)>>
Receives data from the IO interface.
On success, returns the number of bytes read and the target from whence the data came.
fn broadcast(&self) -> Result<bool>
Gets the value of the SO_BROADCAST
option for this socket.
fn set_broadcast(&self, on: bool) -> Result<()>
Sets the value of the SO_BROADCAST
option for this socket.
fn multicast_loop_v4(&self) -> Result<bool>
Gets the value of the IP_MULTICAST_LOOP
option for this socket.
fn set_multicast_loop_v4(&self, on: bool) -> Result<()>
Sets the value of the IP_MULTICAST_LOOP
option for this socket.
fn multicast_ttl_v4(&self) -> Result<u32>
Gets the value of the IP_MULTICAST_TTL
option for this socket.
fn set_multicast_ttl_v4(&self, ttl: u32) -> Result<()>
Sets the value of the IP_MULTICAST_TTL
option for this socket.
fn multicast_loop_v6(&self) -> Result<bool>
Gets the value of the IPV6_MULTICAST_LOOP
option for this socket.
fn set_multicast_loop_v6(&self, on: bool) -> Result<()>
Sets the value of the IPV6_MULTICAST_LOOP
option for this socket.
fn ttl(&self) -> Result<u32>
Gets the value of the IP_TTL
option for this socket.
fn set_ttl(&self, ttl: u32) -> Result<()>
Sets the value for the IP_TTL
option on this socket.
fn join_multicast_v4(
&self,
multiaddr: &Ipv4Addr,
interface: &Ipv4Addr
) -> Result<()>
&self,
multiaddr: &Ipv4Addr,
interface: &Ipv4Addr
) -> Result<()>
Executes an operation of the IP_ADD_MEMBERSHIP
type.
fn join_multicast_v6(&self, multiaddr: &Ipv6Addr, interface: u32) -> Result<()>
Executes an operation of the IPV6_ADD_MEMBERSHIP
type.
fn leave_multicast_v4(
&self,
multiaddr: &Ipv4Addr,
interface: &Ipv4Addr
) -> Result<()>
&self,
multiaddr: &Ipv4Addr,
interface: &Ipv4Addr
) -> Result<()>
Executes an operation of the IP_DROP_MEMBERSHIP
type.
fn leave_multicast_v6(&self, multiaddr: &Ipv6Addr, interface: u32) -> Result<()>
Executes an operation of the IPV6_DROP_MEMBERSHIP
type.