transmission / transmission

Official Transmission BitTorrent client repository
https://transmissionbt.com
Other
12.16k stars 1.21k forks source link

better decision of how many blocks to request from a peer #3333

Open ckerr opened 2 years ago

ckerr commented 2 years ago

In main right now it appears to request too many blocks and then periodically cancel the excess requests. In theory this is not terrible but in practice it seems to cause speed oscillations -- cancelling fewer requests is giving me faster, steadier speeds. libtransmission should make more of an effort to calculate what the 'ideal' number of pending requests is so that on average we need to cancel fewer of them.

LaserEyess commented 2 years ago

Some prior art: https://github.com/mandreyel/cratetorrent/blob/master/DESIGN.md#download-pipeline

ckerr commented 2 years ago

https://github.com/transmission/transmission/tree/refactor/block-req-allocation has the work so far.