Skip to main content

UdpProvider

Trait UdpProvider 

Source
pub(crate) 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 = Result<Self::UdpSocket, Error>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             'life1: 'async_trait,
             Self: '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 = Result<Self::UdpSocket, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, Self: '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 = Result<<AsyncStd as UdpProvider>::UdpSocket, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, AsyncStd: 'async_trait,

Implementors§

Source§

impl UdpProvider for AsyncStdNativeTlsRuntime

Source§

impl UdpProvider for AsyncStdRustlsRuntime

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 UdpProvider for MockNetProvider

Source§

impl UdpProvider for MockRuntime

Source§

impl<R: Runtime> UdpProvider for MockNetRuntime<R>

Source§

impl<R: Runtime> UdpProvider for MockSleepRuntime<R>

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,