5 stable releases
3.0.0 | Jun 24, 2019 |
---|---|
2.2.0 | Apr 15, 2019 |
2.1.0 | Apr 15, 2019 |
2.0.0 | Mar 8, 2019 |
1.0.0 | Mar 8, 2019 |
#20 in #datagram
677 downloads per month
Used in 11 crates
(3 directly)
12KB
65 lines
async-datagram
Async datagram traits.
Examples
Basic usage
use async_datagram::AsyncDatagram;
use std::task::{Context, Poll};
use std::pin::Pin;
struct Udp;
impl AsyncDatagram for Udp {
type Sender = std::net::SocketAddr;
type Receiver = std::net::SocketAddr;
type Err = std::io::Error;
fn poll_send_to(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
buf: &[u8],
target: &Self::Receiver,
) -> Poll<Result<usize, Self::Err>> {
Poll::Ready(Ok(0))
}
fn poll_recv_from(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
buf: &mut [u8],
) -> Poll<Result<(usize, Self::Sender), Self::Err>> {
Poll::Pending
}
}
Installation
$ cargo add async-datagram
Safety
This crate uses #![deny(unsafe_code)]
to ensure everything is implemented in
100% Safe Rust.
Contributing
Want to join us? Check out our "Contributing" guide and take a look at some of these issues:
References
None.
License
MIT OR Apache-2.0