python-tx-tftp
python-tx-tftp copied to clipboard
Don't send more than one ACK to the last DATA packet when writing.
The write session needs to remain open for a short while so that ACKs can be returned if a duplicate DATA packet is received. However, when the last packet is received the code will always send additional ACKs because there is no next DATA packet to cancel the ScheduledCall the handles ACK retransmission. So, in the special case of the last DATA packet, send an ACK once, but never again. The timeout needs to remain to keep the session active in case the ACK packet gets lost and the remote system re-sends the last DATA packet.