5 个稳定版本

3.0.0 2019 年 6 月 24 日
2.2.0 2019 年 4 月 15 日
2.1.0 2019 年 4 月 15 日
2.0.0 2019 年 3 月 8 日
1.0.0 2019 年 3 月 8 日

#11#datagram

Download history 155/week @ 2024-03-13 198/week @ 2024-03-20 227/week @ 2024-03-27 181/week @ 2024-04-03 162/week @ 2024-04-10 191/week @ 2024-04-17 190/week @ 2024-04-24 187/week @ 2024-05-01 175/week @ 2024-05-08 169/week @ 2024-05-15 173/week @ 2024-05-22 191/week @ 2024-05-29 167/week @ 2024-06-05 148/week @ 2024-06-12 201/week @ 2024-06-19 146/week @ 2024-06-26

686 每月下载量
用于 12 个 crate (3 直接)

MIT/Apache

12KB
65

async-datagram

crates.io version build status downloads docs.rs docs

异步数据报特性。

示例

基本用法

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

安装

$ cargo add async-datagram

安全性

此 crate 使用 #![deny(unsafe_code)] 确保所有内容都在 100% 安全的 Rust 中实现。

贡献

想加入我们?查看我们的 "贡献" 指南 并查看一些这些问题

参考

无。

许可证

MIT OR Apache-2.0

无运行时依赖