[][src]Trait runtime_raw::UdpSocket

pub trait UdpSocket: Debug + Send + Sync {
    fn local_addr(&self) -> Result<SocketAddr>;
fn poll_send_to(
        self: Pin<&mut Self>,
        cx: &mut Context,
        buf: &[u8],
        receiver: &SocketAddr
    ) -> Poll<Result<usize>>;
fn poll_recv_from(
        self: Pin<&mut Self>,
        cx: &mut Context,
        buf: &mut [u8]
    ) -> Poll<Result<(usize, SocketAddr)>>;
fn broadcast(&self) -> Result<bool>;
fn set_broadcast(&self, on: bool) -> Result<()>;
fn multicast_loop_v4(&self) -> Result<bool>;
fn set_multicast_loop_v4(&self, on: bool) -> Result<()>;
fn multicast_ttl_v4(&self) -> Result<u32>;
fn set_multicast_ttl_v4(&self, ttl: u32) -> Result<()>;
fn multicast_loop_v6(&self) -> Result<bool>;
fn set_multicast_loop_v6(&self, on: bool) -> Result<()>;
fn ttl(&self) -> Result<u32>;
fn set_ttl(&self, ttl: u32) -> Result<()>;
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 as_raw_fd(&self) -> RawFd; }

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

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

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

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

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.

fn as_raw_fd(&self) -> RawFd

Extracts the raw file descriptor.

Loading content...

Implementors

Loading content...