- Fixed the cruel file-transfer bug. Made a pull-request and merged into freenet-upstream - Introduced, reworked and tested the means for cumulative acknowledgements __________________________________________________________________
The most major limitations of the upstream-fred's acknowledgement scheme are the following: - It can not ack more than 255 packets in a single message - It can not ack the packets which sequence numbers vary by more than 255 (actually, the current codebase does not allow to ack ANY packet, which sequence number is more than the sequence number of the First packet in the list) - It should allocate a 1-byte offset in the return-packet for Each packet that it acknowledges I proposed the solution for all 3 points with the series of commits to the transport-layer-improvements branch in my repository (found here, as usual: https://github.com/Quadrocube/fred-staging). It dramatically reduced the amount and size of packets needed to be send-back to ack each of the incoming packets. Stress-tested it by means of the toolset created at the first part of the summer - in combination with the bugfix of the PacketSender bug, it was able to transmit the 100Megabyte file without a single loss in local network at the speed of 550KiB\s (1MiB\s if remove the artificial limit on the outstanding packets in BulkTransmitter). There are still some useful modifications that can be done in the acknowledgement area (such as dub-acking some packets if it doesn't modify or even reduces the byte-cost), so currently working on it. _______________________________________________ Devl mailing list Devl@freenetproject.org https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl