Executor agnostic async TFTP implementation, written with [smol] building blocks. Currently it implements only server side.
The following RFCs are implemented:
Features:
timeout
]. This is useful for faster
file transfer in unstable environments.Handler
] for more advance cases than
just serving a directory. Check [tftpd-targz.rs
] for an example.```rust use asynctftp::server::TftpServerBuilder; use asynctftp::Result;
fn main() -> Result<()> { smol::run(async { // or any other runtime/executor let tftpd = TftpServerBuilder::withdirro(".")?.build().await?; tftpd.serve().await?; Ok(()) }) } ```
Add in Cargo.toml
:
toml
[dependencies]
smol = "0.3" # or any other runtime/executor
async-tftp = "0.3"