liminix-fork/pkgs/tufted
Daniel Barlow 8798ee9830 partial fix for timeout handling
1) "Unknown transfer id" message was because the local variable "tid"
is not a transfer id, it is a sequence number  - so the check was
actually comparing expected vs actual acknowledged sequence number,
not TID.  It's still a problem if we get the wrong one, but it
indicates a lost packet (so we should resend) not a packet that was
sent from somewhere else.

2) if the ACK packet has not been received, our retry should involve
_resending_ it, not just trying to wait for it again.

3) I have removed the timeout condition for terminating the resend
loop, because in practice (assuming both ends have the same timeout
setting) all it did was ensure that the loop only ran once. The
timeout is supposed to regulate how long we wait for before retrying
(it doesn't do this, we wait indefinitely), not how long we wait for
before giving up.
2023-10-18 23:35:23 +01:00
..
default.nix use locally modified tftp.lua instead of upstream tufty 2023-02-15 22:06:28 +00:00
README.md add README to say where Tufted came from 2023-02-15 22:06:28 +00:00
tftp.lua partial fix for timeout handling 2023-10-18 23:35:23 +01:00
tufted.fnl simpler eof handling 2023-02-15 22:06:28 +00:00

Tufted

A small wrapper around Luke Drummond's "Evented Lua TFTP server", originally from https://github.com/ldrumm/tufty