The one I built had a special file transfer transaction mechanism (the whole 'file' data block defined to not be useabale til it recieved intact other side). Simplified ACK retransmits by using a bit flag return msg (if any were never recieved) sent after a whole pass on all the packets needed to send the 'file' (flagged packets only would be resent) and this repeated if necessary til entire 'file' is intact. packets got dumped directly into the right place in a preallocated file buffer to eliminate extra block copying.
It was a while ago, but that one also had callback signals to an Application level that could cause throttling at a high level (where the App could make smarter decisions about how to handle a data flow slowdown into the server. This meant of course the packet driver needed some criteria to determine when to start alerting the Application layer.