3 个版本

使用旧的 Rust 2015

0.2.2 2022 年 4 月 4 日
0.2.1 2018 年 11 月 27 日
0.2.0 2016 年 12 月 6 日

#15 in #block-size

40 每月下载量
用于 allenap-tftp-offload

AGPL-3.0

50KB
1K SLoC

⚠️ 不支持

此软件包不再受支持,将不会更新。它是一次实验,目前可能对任何人都没有太大用处。代码本身可能只有一点小趣味...但可能也没有。这不是你想要的 TFTP 优点。抱歉!

适用于 Rust 的 allenap TFTP 库

此库允许你使用以下特性在 Rust 中构建只读 TFTP 服务器:

  • RFC-1350 - TFTP 协议(修订 2)

  • RFC-2347 - TFTP 选项扩展

  • RFC-2348 - TFTP 块大小选项

  • RFC-2349 - TFTP 超时间隔和传输大小选项

  • blkno 回滚,允许无限大小的传输。

开始的地方是顶级 serve 函数,Handler 特性和 rrq.serve 函数。

意图是支持可写服务器和客户端。目前的代码是 alpha 级别,随着时间的推移,我会做出很多改变,但现在这可行。

谢谢

我从阅读 Arjan Topolovec 的 rust-tftp 代码中学到了很多东西。在理想的世界里,我本可以贡献回去,我可能还会这样做,但我开始这个项目是为了学习 Rust。

我阅读了大量关于 Rust 和 Rust 代码的材料,但 编写 代码是最好地吸收这些知识的方式,并找出我所认为知道但实际上不知道的事情。从 rust-tftp 开始,作为指南,对我很有效。

感谢 Arjan Topolovec。

待办事项

  • 修复用于高效构建出站 DATA 数据包的分层违规。

  • 在发送 OACK 后等待 ACK

  • 支持 windowsize 选项;参见 RFC-7440

  • 更多的单元测试。

  • 一些集成测试。

  • 清理、重构等:目前有些粗糙但可用。

依赖项

~1.2–8.5MB
~68K SLoC