//! Minimal TFTP server sufficient to deliver iPXE binaries (~1 MiB each)
//! to firmware PXE ROMs. Only implements RRQ (read requests) because we
//! never receive WRQs in our use case.
//!
//! Implements RFC 1350 base protocol plus:
//!   - RFC 2347 option negotiation (OACK)
//!   - RFC 2348 `blksize` (critical — default 512 makes transfers unusably slow)
//!   - RFC 2349 `tsize` (some PXE ROMs require it)
//!   - RFC 7440 `windowsize` (huge throughput improvement for supporting clients)
//!
//! Files served are backed by the embedded iPXE asset store; there is no
//! filesystem path traversal surface because we only look up by asset name.
#![forbid(unsafe_code)]

pub mod server;

pub use server::TftpServer;
