i2psnark; Fix end-game parallelism
Opened 5 years ago
#1775newdefect
i2psnark; Fix end-game parallelism
Reported by:zzzOwned by:zzz Priority: minor Milestone: eventually Component: apps/i2psnark Version: 0.9.24 Keywords:
Cc:
Parent Tickets:
Sensitive: no
Description
Two peer connections can't work on the same piece at the same time. In the end game where we are getting the same piece from multiple peers, we're fetching the same chunks multiple times.
Back in the old days that was wasteful but not horrible, but that was when 256 KB pieces were common. With clearnet torrents of 2 MB or larger chunks, it's a significant waste. It also causes misleading ETA times at the end, it always takes much longer than displayed.
So we need to implement true parallelism where the peer connections work cooperatively on a single piece. Then, perhaps, if the piece check fails, go back to the old way.