EDIT: the parent post was edited, and this comment was written for the original post.
148 karma · joined October 1, 2014
EDIT: the parent post was edited, and this comment was written for the original post.
What is odd about it?
You can find the relevant API documentation at
- http://docs.picotorrent.org/en/latest/websocket-api/index.ht...
The installer will receive a nice update with a user interface in the next version.
Thanks for the input! :)
Ninja Edit: I'll take a look at fixing whatever is making PicoTorrent not work in Sandboxie.
I'm open for suggestions on how to reduce size.
We follow the latest vanilla libtorrent sources (not bound by releases), and try to keep our C++ as close to the Windows API as possible. The only dependency we have is libtorrent (plus Boost and OpenSSL since libtorrent depends on those).
I haven't had a chance to test it with a million torrents yet, but my development environment has a few thousand at least, so easy bulk operations are a requirement :)
Feature wise, PicoTorrent is lacking. Most popular features will be implemented, along with a plugin API. Right now, nothing more than the basics is implemented.
I'll try to put this, along with other information, in a FAQ asap.
- It idles at ~1.5-1.8MB with no torrents.
- With 10 seeding torrents, it runs at ~3.8-4MB memory usage.
However, these numbers may or may not run true depending on usage and workload.
(Private) trackers are very picky about what clients they allow. This leaves me with few alternatives when it comes to BitTorrent libraries, Rasterbar-libtorrent being one of them. Rasterbar-libtorrent is awesome, and written in C++.
I wrote a C++/CLI wrapper for libtorrent to bridge the native/managed gap and did the rest of the work in pure C#. Awesome, except C++/CLI is not cross-platform and will not be made cross-platform in the MS CoreCLR releases. So to become cross-platform, I either have to rewrite everything in C++, or use P/Invoke. I never got the P/Invoke stuff to work well with the C++ nature of libtorrent, which left me with a C++ rewrite of Hadouken.
As it turns out, C++11 is quite pleasant to work with, and with the Poco framework I actually made some real progress quite fast. I also ran a Ubuntu VM on my Windows dev-machine to make sure everything worked smoothly as I went along.
Performance may have been the wrong word, maybe I should've used memory usage, but I'm currently in the finishing stages of having it running on the older R-Pi boards, so even though 90% of the users will run it on some sort of desktop/server machine, some will run it on the R-Pi where memory is limited.
I'm a C# developer by trade and currently in the end-phase of a total rewrite from C# to C++ for this project in order to get it running cross-platform as well as increase performance.
This is my first C++ project and any feedback is welcome!