#![forbid(unsafe_code, future_incompatible)]
#![deny(missing_debug_implementations, bad_style)]
#![deny(missing_docs)]
#![cfg_attr(test, deny(warnings))]
#![feature(futures_api)]
use std::task::{Poll, Waker};
pub trait AsyncDatagram {
type Sender;
type Receiver;
type Err;
fn poll_send_to(
&mut self,
waker: &Waker,
buf: &[u8],
receiver: &Self::Receiver,
) -> Poll<Result<usize, Self::Err>>;
fn poll_recv_from(
&mut self,
waker: &Waker,
buf: &mut [u8],
) -> Poll<Result<(usize, Self::Sender), Self::Err>>;
}