-
Notifications
You must be signed in to change notification settings - Fork 158
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
A Question #1029
Comments
Hi Denis, I noticed the ElementumOrg/lt2http libtorrent-to-http C++ webserver. It has not been updated in three years, while development of the Elementum Go daemon is currently active. Has the lt2http functionality been fully subsumed into the Elementum server? Or what's going on there? Thank you |
Opposite. Changes from I hope to complete update. |
I don't quite understand the difference between the two projects. Elementum - though it is a plugin for Kodi - seems to do all the things lt2http does. It (in main.go) starts up a web server that serves requested torrents as http streams (using elementum/bittorrent package). Why maintain two distinct projects in two different languages when you could reduce the effort to one? What does lt2http have that Elementum does not? |
Eventually torrenting functionality will be removed from Elementum and lt2http will be used instead. |
Is it because you want to factor out the complexity of torrent handling from Elementum? But then why write lt2http in C++ when you could also use Go like your other projects? |
It is to make Elementum lighter, easier to support, ability to use torrenting externally/centrally.
Because libtorrent library (https://github.com/arvidn/libtorrent) is originally in C++ and Go is using Swig to operate with that library. It brings memory issues and maitanence issues as well. It is just easier to have it separately and natively (and it would work faster). |
Okay then what about using anacrolix/torrent? It is actively maintained Go library that has a torrent Reader interface so you can use it for streaming without doing a lot of dev work, and you would be using Go for your torrent web server, making things easier. |
Elementum was using anacrolix/torrent in version 0.0.*, you can take a look and use it if you want. You can find information about reasoning and so on. |
Ah I did not know this!
I could not find any reasoning for the change. Most of that discussion is not in English (Russian?) In any case it's been 5 years now. A lot of things have changed. anacrolix has just landed BitTorrent v2 support and is actively maintained (this cannot be said of libtorrent.) And a lot of bugs have been fixed I'm sure. So if that was the reason for moving away from it as a buggy new project, why not reconsider? (Unless there were other reasons) It is always prudent to continuously reassess things over time depending on the environment as that ensures the best outcome for the project. (Edit: There is now even a fork of qBitTorrent using anacrolix so it has come a long way!) |
For sure there will be no migration done by me. |
What is the reason(s) though you moved away from anacrolix back then? |
Bad speeds when working with files and when having many files in a session. |
Ah ok, this is not something So Denis, in terms of porting things into |
I appreciate the thought @malixi94. Denis was a very early adopter of anacrolix/torrent. I think Elementum stopped using it around 2018/2019. There were some huge performance improvements in 2021 that probably addressed many problems, so I don't know where it stands now relative to the issues Denis had back then. |
@anacrolix what about when there are like a thousand torrents in a session though, doesn't the speed and memory consumption significantly deteriorate? |
@anacrolix Nice to see you here. Cheers! 🍺 @malixi94 That is great to hear about The problem with migrating back from |
@elgatito looking into the This implementation presents problems in libtorrent 2.0, as was made clear in #6118 since running your Have you added features to the Hmm even if this is the case I'm thinking that the additional code that needs to be ported to @anacrolix I searched in your torrent repo, there was an issue (#820) where having more than 10 torrents caused problems, but this seems to have been fixed by you, which is good. But there was another issue (#839) - open for nearly a year now - where having 30 torrents caused apparently the same sort of problems of "high load". So is 10 to 20 torrents at a time the high mark for anacrolix/torrent? Because libtorrent-based clients do 1000 torrents in a session without issue. |
@elgatito how do you figure I don't know if you've thought about it, but can it safely somehow get the torrent data for streaming without using What do you think is the best course of action? |
No description provided.
The text was updated successfully, but these errors were encountered: