13个版本
0.5.4 | 2024年7月22日 |
---|---|
0.5.2 | 2024年6月7日 |
0.4.1 | 2023年8月20日 |
0.4.0 | 2023年5月11日 |
0.1.0 |
|
#736 in 网络编程
1,896,513 每月下载量
在 851 个crate中使用 (8 直接使用)
68KB
1.5K SLoC
通过提供高级特性以支持QUIC的统一接口来发送和接收UDP数据包
该crate公开了大多数现代系统上可用的内核UDP堆栈功能,这些功能对于高效且符合标准的QUIC实现是必需的。截至目前,这些功能在std或主要异步运行时中不可用,并且它们的特殊性和复杂性是添加它们的障碍。因此,需要一个专门的crate。
公开的特性包括
- 分段卸载,用于批量发送和接收操作,减少CPU负载。
- 报告接收到的数据包的确切目标地址,并为发送的数据包指定显式源地址,允许从多个可能性中选择时,从对端期望的地址发送响应。这在绑定到IPv6的通配符地址时很常见,这是由于RFC 8981中的临时地址。
- 显式拥塞通知,这是QUIC在支持网络路径时防止数据包丢失并降低拥塞链路延迟所必需的。
- 禁用IP层分片,这允许检测真实的物理MTU并降低QUIC数据包丢失的风险。
某些特性在某些环境中不可用。这可能是由于过时的操作系统或驱动程序。某些操作系统可能根本不实现所需的特性,或者可能还不被crate支持。当支持不可用时,功能将优雅地降级。
依赖关系
~0.6–9.5MB
~76K SLoC