Trait net2::UdpSocketExt
[−]
[src]
pub trait UdpSocketExt { fn set_broadcast(&self, broadcast: bool) -> Result<()>; fn broadcast(&self) -> Result<bool>; fn set_multicast_loop_v4(&self, multicast_loop_v4: bool) -> Result<()>; fn multicast_loop_v4(&self) -> Result<bool>; fn set_multicast_ttl_v4(&self, multicast_ttl_v4: u32) -> Result<()>; fn multicast_ttl_v4(&self) -> Result<u32>; fn set_multicast_loop_v6(&self, multicast_loop_v6: bool) -> Result<()>; fn multicast_loop_v6(&self) -> Result<bool>; fn set_ttl(&self, ttl: u32) -> Result<()>; fn ttl(&self) -> Result<u32>; fn set_only_v6(&self, only_v6: bool) -> Result<()>; fn only_v6(&self) -> Result<bool>; fn join_multicast_v4(&self, multiaddr: &Ipv4Addr, interface: &Ipv4Addr) -> Result<()>; fn join_multicast_v6(&self, multiaddr: &Ipv6Addr, interface: u32) -> Result<()>; fn leave_multicast_v4(&self, multiaddr: &Ipv4Addr, interface: &Ipv4Addr) -> Result<()>; fn leave_multicast_v6(&self, multiaddr: &Ipv6Addr, interface: u32) -> Result<()>; }
Extension methods for the standard UdpSocket
type in std::net
.
Required Methods
fn set_broadcast(&self, broadcast: bool) -> Result<()>
Sets the value of the SO_BROADCAST
option for this socket.
When enabled, this socket is allowed to send packets to a broadcast address.
fn broadcast(&self) -> Result<bool>
Gets the value of the SO_BROADCAST
option for this socket.
For more information about this option, see
set_broadcast
.
fn set_multicast_loop_v4(&self, multicast_loop_v4: bool) -> Result<()>
Sets the value of the IP_MULTICAST_LOOP
option for this socket.
If enabled, multicast packets will be looped back to the local socket. Note that this may not have any affect on IPv6 sockets.
fn multicast_loop_v4(&self) -> Result<bool>
Gets the value of the IP_MULTICAST_LOOP
option for this socket.
For more information about this option, see
set_multicast_loop_v4
.
fn set_multicast_ttl_v4(&self, multicast_ttl_v4: u32) -> Result<()>
Sets the value of the IP_MULTICAST_TTL
option for this socket.
Indicates the time-to-live value of outgoing multicast packets for this socket. The default value is 1 which means that multicast packets don't leave the local network unless explicitly requested.
Note that this may not have any affect on IPv6 sockets.
fn multicast_ttl_v4(&self) -> Result<u32>
Gets the value of the IP_MULTICAST_TTL
option for this socket.
For more information about this option, see
set_multicast_ttl_v4
.
fn set_multicast_loop_v6(&self, multicast_loop_v6: bool) -> Result<()>
Sets the value of the IPV6_MULTICAST_LOOP
option for this socket.
Controls whether this socket sees the multicast packets it sends itself. Note that this may not have any affect on IPv4 sockets.
fn multicast_loop_v6(&self) -> Result<bool>
Gets the value of the IPV6_MULTICAST_LOOP
option for this socket.
For more information about this option, see
set_multicast_loop_v6
.
fn set_ttl(&self, ttl: u32) -> Result<()>
Sets the value for the IP_TTL
option on this socket.
This is the same as TcpStreamExt::set_ttl
.
fn ttl(&self) -> Result<u32>
Gets the value of the IP_TTL
option for this socket.
For more information about this option, see
TcpStreamExt::set_ttl
.
fn set_only_v6(&self, only_v6: bool) -> Result<()>
Sets the value for the IPV6_V6ONLY
option on this socket.
For more information about this option, see
TcpStreamExt::set_only_v6
.
fn only_v6(&self) -> Result<bool>
Gets the value of the IPV6_V6ONLY
option for this socket.
For more information about this option, see
TcpStreamExt::set_only_v6
.
fn join_multicast_v4(&self, multiaddr: &Ipv4Addr, interface: &Ipv4Addr) -> Result<()>
Executes an operation of the IP_ADD_MEMBERSHIP
type.
This function specifies a new multicast group for this socket to join.
The address must be a valid multicast address, and interface
is the
address of the local interface with which the system should join the
multicast group. If it's equal to INADDR_ANY
then an appropriate
interface is chosen by the system.
fn join_multicast_v6(&self, multiaddr: &Ipv6Addr, interface: u32) -> Result<()>
Executes an operation of the IPV6_ADD_MEMBERSHIP
type.
This function specifies a new multicast group for this socket to join.
The address must be a valid multicast address, and interface
is the
index of the interface to join/leave (or 0 to indicate any interface).
fn leave_multicast_v4(&self, multiaddr: &Ipv4Addr, interface: &Ipv4Addr) -> Result<()>
Executes an operation of the IP_DROP_MEMBERSHIP
type.
For more information about this option, see
join_multicast_v4
.
fn leave_multicast_v6(&self, multiaddr: &Ipv6Addr, interface: u32) -> Result<()>
Executes an operation of the IPV6_DROP_MEMBERSHIP
type.
For more information about this option, see
join_multicast_v6
.
Implementors
impl UdpSocketExt for UdpSocket