Trait net2::UdpSocketExt [] [src]

pub trait UdpSocketExt {
    fn set_recv_buffer_size(&self, size: usize) -> Result<()>;
fn recv_buffer_size(&self) -> Result<usize>;
fn set_send_buffer_size(&self, size: usize) -> Result<()>;
fn send_buffer_size(&self) -> Result<usize>;
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<()>;
fn set_read_timeout_ms(&self, val: Option<u32>) -> Result<()>;
fn set_read_timeout(&self, val: Option<Duration>) -> Result<()>;
fn read_timeout_ms(&self) -> Result<Option<u32>>;
fn read_timeout(&self) -> Result<Option<Duration>>;
fn set_write_timeout_ms(&self, val: Option<u32>) -> Result<()>;
fn set_write_timeout(&self, val: Option<Duration>) -> Result<()>;
fn write_timeout_ms(&self) -> Result<Option<u32>>;
fn write_timeout(&self) -> Result<Option<Duration>>;
fn take_error(&self) -> Result<Option<Error>>;
fn connect<A: ToSocketAddrs>(&self, addr: A) -> Result<()>;
fn send(&self, buf: &[u8]) -> Result<usize>;
fn recv(&self, buf: &mut [u8]) -> Result<usize>;
fn set_nonblocking(&self, nonblocking: bool) -> Result<()>; }
[]

Extension methods for the standard UdpSocket type in std::net.

Required Methods

[]

Sets the value of the SO_RCVBUF option on this socket.

Changes the size of the operating system's receive buffer associated with the socket.

[]

Gets the value of the SO_RCVBUF option on this socket.

For more information about this option, see set_recv_buffer_size.

[]

Sets the value of the SO_SNDBUF option on this socket.

Changes the size of the operating system's send buffer associated with the socket.

[]

Gets the value of the SO_SNDBUF option on this socket.

For more information about this option, see set_send_buffer.

[]

Sets the value of the SO_BROADCAST option for this socket.

When enabled, this socket is allowed to send packets to a broadcast address.

[]

Gets the value of the SO_BROADCAST option for this socket.

For more information about this option, see set_broadcast.

[]

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.

[]

Gets the value of the IP_MULTICAST_LOOP option for this socket.

For more information about this option, see set_multicast_loop_v4.

[]

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.

[]

Gets the value of the IP_MULTICAST_TTL option for this socket.

For more information about this option, see set_multicast_ttl_v4.

[]

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.

[]

Gets the value of the IPV6_MULTICAST_LOOP option for this socket.

For more information about this option, see set_multicast_loop_v6.

[]

Sets the value for the IP_TTL option on this socket.

This is the same as TcpStreamExt::set_ttl.

[]

Gets the value of the IP_TTL option for this socket.

For more information about this option, see TcpStreamExt::set_ttl.

[]

Sets the value for the IPV6_V6ONLY option on this socket.

For more information about this option, see TcpStreamExt::set_only_v6.

[]

Gets the value of the IPV6_V6ONLY option for this socket.

For more information about this option, see TcpStreamExt::set_only_v6.

[]

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.

[]

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).

[]

Executes an operation of the IP_DROP_MEMBERSHIP type.

For more information about this option, see join_multicast_v4.

[]

Executes an operation of the IPV6_DROP_MEMBERSHIP type.

For more information about this option, see join_multicast_v6.

[]

Sets the SO_RCVTIMEO option for this socket.

This option specifies the timeout, in milliseconds, of how long calls to this socket's read function will wait before returning a timeout. A value of None means that no read timeout should be specified and otherwise Some indicates the number of milliseconds for the timeout.

[]

Sets the SO_RCVTIMEO option for this socket.

This option specifies the timeout of how long calls to this socket's read function will wait before returning a timeout. A value of None means that no read timeout should be specified and otherwise Some indicates the number of duration of the timeout.

[]

Gets the value of the SO_RCVTIMEO option for this socket.

For more information about this option, see set_read_timeout_ms.

[]

Gets the value of the SO_RCVTIMEO option for this socket.

For more information about this option, see set_read_timeout.

[]

Sets the SO_SNDTIMEO option for this socket.

This option specifies the timeout, in milliseconds, of how long calls to this socket's write function will wait before returning a timeout. A value of None means that no read timeout should be specified and otherwise Some indicates the number of milliseconds for the timeout.

[]

Sets the SO_SNDTIMEO option for this socket.

This option specifies the timeout of how long calls to this socket's write function will wait before returning a timeout. A value of None means that no read timeout should be specified and otherwise Some indicates the duration of the timeout.

[]

Gets the value of the SO_SNDTIMEO option for this socket.

For more information about this option, see set_write_timeout_ms.

[]

Gets the value of the SO_SNDTIMEO option for this socket.

For more information about this option, see set_write_timeout.

[]

Get the value of the SO_ERROR option on this socket.

This will retrieve the stored error in the underlying socket, clearing the field in the process. This can be useful for checking errors between calls.

[]

Connects this UDP socket to a remote address, allowing the send and recv syscalls to be used to send data and also applies filters to only receive data from the specified address.

[]

Sends data on the socket to the remote address to which it is connected.

The connect method will connect this socket to a remote address. This method will fail if the socket is not connected.

[]

Receives data on the socket from the remote address to which it is connected.

The connect method will connect this socket to a remote address. This method will fail if the socket is not connected.

[]

Moves this UDP socket into or out of nonblocking mode.

For more information about this option, see TcpStreamExt::set_nonblocking.

Implementations on Foreign Types

impl UdpSocketExt for UdpSocket
[src]

Implementors