#sequence #high-level #udp #packet #constructs #transfer #data

adrnaln

Adrnaln 是一个用于UDP数据包传输的库,它提供了高级构造来管理数据序列

3 个版本

0.1.2 2024年5月9日
0.1.1 2024年5月8日
0.1.0 2024年5月8日

#4 in #constructs

Download history 329/week @ 2024-05-05 15/week @ 2024-05-12 12/week @ 2024-05-19 1/week @ 2024-05-26 4/week @ 2024-06-02 2/week @ 2024-06-09 1/week @ 2024-06-16 52/week @ 2024-07-28

每月 52 次下载

MIT 许可证

490KB
334

adrnaln

问题陈述:希望在低延迟或低元数据开销的情况下发送任何类型的文件。

这是一个简单的库,它提供了高级构造来管理通过UDP流式传输的包序列。

实现

该库使用 bincode 协助 Packet 结构体的序列化和反序列化。这些结构体包含输入文件的块,并且还包含关于序列构建的全局元数据。

使用方法

cargo test 运行合成测试。

运行示例 cargo run --example local_file_transfer -- --filepath <FILEPATH>(这将当前将文件输出到当前工作目录)

性能

火焰图

要分析性能,请使用 flamegraph(cargo install flamegraph)

sudo cargo flamegraph --dev --example local_file_transfer -- --filepath <FILEPATH>

跟踪

docker run -d -p6831:6831/udp -p6832:6832/udp -p16686:16686 -p14268:14268 jaegertracing/all-in-one:latest

创建跟踪

RUST_LOG=trace RUSTFLAGS="--cfg tokio_unstable" cargo run --example local_file_transfer -- --filepath=examples/resources/fox.png

依赖项

~9–19MB
~237K SLoC