Skip to main content

UdpProvider

Trait UdpProvider 

Source
pub trait UdpProvider:
    Clone
    + Send
    + Sync
    + 'static {
    type UdpSocket: UdpSocket + Send + Sync + Unpin + 'static;

    // Required method
    fn bind<'life0, 'life1, 'async_trait>(
        &'life0 self,
        addr: &'life1 SocketAddr,
    ) -> Pin<Box<dyn Future<Output = IoResult<Self::UdpSocket>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
}
Expand description

Trait for a runtime that can send and receive UDP datagrams.

Required Associated Types§

Source

type UdpSocket: UdpSocket + Send + Sync + Unpin + 'static

The type of Udp Socket returned by Self::bind()

Required Methods§

Source

fn bind<'life0, 'life1, 'async_trait>( &'life0 self, addr: &'life1 SocketAddr, ) -> Pin<Box<dyn Future<Output = IoResult<Self::UdpSocket>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Bind a local port to send and receive packets from

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl UdpProvider for AsyncStd

Source§

type UdpSocket = UdpSocket

Source§

fn bind<'life0, 'life1, 'async_trait>( &'life0 self, addr: &'life1 SocketAddr, ) -> Pin<Box<dyn Future<Output = IoResult<Self::UdpSocket>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Implementors§

Source§

impl UdpProvider for AsyncStdNativeTlsRuntime

Source§

impl UdpProvider for AsyncStdRustlsRuntime

Source§

impl UdpProvider for SmolRuntime

Source§

impl UdpProvider for TokioRuntimeHandle

Source§

impl UdpProvider for SmolNativeTlsRuntime

Source§

impl UdpProvider for SmolRustlsRuntime

Source§

impl UdpProvider for PreferredRuntime

Source§

impl UdpProvider for TokioNativeTlsRuntime

Source§

impl UdpProvider for TokioRustlsRuntime

Source§

impl<TaskR, SleepR, CoarseTimeR, TcpR, UnixR, TlsR, UdpR> UdpProvider for CompoundRuntime<TaskR, SleepR, CoarseTimeR, TcpR, UnixR, TlsR, UdpR>
where UdpR: UdpProvider + Send + Sync + 'static, TaskR: Send + Sync + 'static, SleepR: Send + Sync + 'static, CoarseTimeR: Send + Sync + 'static, TcpR: Send + Sync + 'static, UnixR: Clone + Send + Sync + 'static, TlsR: Send + Sync + 'static,