- 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

Reply via email to