Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Swarm Merging Implement #8508

Closed
absolutep opened this issue Mar 11, 2025 · 4 comments
Closed

Swarm Merging Implement #8508

absolutep opened this issue Mar 11, 2025 · 4 comments

Comments

@absolutep
Copy link

Implement Swarm Merging.

This ticket raised to link it to upstream Libtorrent issue request = arvidn/libtorrent#7905

Now, that BitTorrent V2 is supported by every torrent client, this feature has a chance to be implemented.

BiglyBT has been doing this for long = https://github.com/BiglySoftware/BiglyBT/wiki/Swarm-Merging

@qstokkink
Copy link
Contributor

I read through BiglyBT's wiki and - as far as I can see - they are essentially automatically copy-pasting a file into the torrent destination directory if both the file name and file size match to those given in the torrent.

That is indeed a bit crude and It would be interesting to match up hashes from different swarms to save a little bit of disk space. As, they also noted themselves.

Regarding the implementation of this, I see this happen in three ways:

  1. Make Tribler/libtorrent aware of all files in your system, load them in your memory and calculate their hashes.
  2. Make use of all libtorrent files in memory and access them from a global table of file hashes.
  3. Manually require users to paste files into the torrent destination directory.

(3) is already possible, (2) does not require edits in this repository, and (1) I really do not want Tribler to do. All in all, I think the issue on the libtorrent repository sufficiently captures the edits we want to make to Tribler for this feature. We will be watching it. However, due to the lack of planned edits to Tribler, I'll close this issue.

@absolutep
Copy link
Author

I'll close this issue

Do not close it then, just create a milestone for it, probably 8.2.x or 8.3 or something.

@qstokkink
Copy link
Contributor

I closed this issue because I can't create a milestone for it.

We can't create a sane implementation in Tribler, only in libtorrent (see my reasoning above). Because we use Tribler issues for things that can be implemented in Tribler, and this cannot be implemented in Tribler, this cannot be a Tribler issue. If this cannot be a Tribler issue, it can also not be a part of a Tribler milestone, which we use to track Tribler issues.

Again, this doesn't mean we dislike your feature request. We just can't manage it on this repository's issue tracker.

@absolutep
Copy link
Author

I closed this issue because I can't create a milestone for it.

We can't create a sane implementation in Tribler, only in libtorrent (see my reasoning above). Because we use Tribler issues for things that can be implemented in Tribler, and this cannot be implemented in Tribler, this cannot be a Tribler issue. If this cannot be a Tribler issue, it can also not be a part of a Tribler milestone, which we use to track Tribler issues.

Again, this doesn't mean we dislike your feature request. We just can't manage it on this repository's issue tracker.

Okay.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants