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