arvidn / libtorrent

an efficient feature complete C++ bittorrent implementation
http://libtorrent.org
Other
5.22k stars 993 forks source link

[feature request] give seeding priority to torrents with fast peers #7711

Open tkittich opened 3 months ago

tkittich commented 3 months ago

libtorrent version (or branch): libtorrent: 2.0.10.0

This is a feature request to have an option to give seeding priority to torrents with fast peers. While seeding, peers and torrents that can load very fast should be able to spread the pieces very fast as well. This should let libtorrent keep seeding popular torrents. This should also help minimize disk reads because popular torrents should be in the cache.

Currently the seeding queue's seed priority can be controlled by specifying 3 options: a seed ratio, a seed-time ratio, or seed-time. Perhaps this feature could be added by having a fourth option: "minimum upload speed".

Pentaphon commented 2 months ago

I can see this being a problem because these days, there's a lot of commercial and streaming-only peers that are meant to leech and never seed and they are running on very fast connections.

tkittich commented 2 months ago

It seems setting seed_choking_algorithm to fastest_upload could somehow get a similar feature. I am not sure how unchoking algorithm and seeding priority are interacting though.

I can see this being a problem because these days, there's a lot of commercial and streaming-only peers that are meant to leech and never seed and they are running on very fast connections.

I see. However, this feature could be useful in private trackers where seed ratio is enforced. It would be best to seed to the fastest peers to gain as much seed ratio as possible.

Pentaphon commented 2 months ago

However, this feature could be useful in private trackers where seed ratio is enforced.

Not really because keeping files seeded on private trackers is much less of an issue than it is on public trackers and very fast peers are way more likely to be found on private trackers than they are on public trackers.