libtorrent with premiere torrent support
Go to file
Arvid Norberg 24b271b7c1 Merge pull request #1133 from ssiloti/peer-picker
fix DHT peer picking algorithm. The old code was always picking the first to_pick peers from the set.

* use a sorted vector to store peer announcments

Given the frequency of linear scans being done, std::set is clearly
sub-optimal for storing announced peers. A std::vector is the obvious
choice, which I also decided to make sorted. A sorted vector trades
better performance in announce_peer for slower purging, the latter
being mitigated by batching.

* shrink peers vectors with too much excess capacity
2016-09-23 13:48:00 -07:00
.github
bindings deprecate send_stats property on trackers (since lt_tracker extension has been removed) (#1125) 2016-09-21 16:54:49 -07:00
cmake/Modules Fix compilation with cmake (#767) 2016-05-29 12:58:16 -04:00
docs refactor in msg verify_message and minor cleanup (#1131) 2016-09-21 23:04:05 -07:00
ed25519 better integration and API for ed25519 (#1037) 2016-08-29 20:28:42 -04:00
examples fix examples/make_torrent.cpp compilation (#1140) 2016-09-23 07:45:35 -07:00
include/libtorrent fix examples/make_torrent.cpp compilation (#1140) 2016-09-23 07:45:35 -07:00
m4 merged RC_1_1 into master 2016-08-07 17:23:40 -04:00
simulation refactor in msg verify_message and minor cleanup (#1131) 2016-09-21 23:04:05 -07:00
src Merge pull request #1133 from ssiloti/peer-picker 2016-09-23 13:48:00 -07:00
test Merge pull request #1133 from ssiloti/peer-picker 2016-09-23 13:48:00 -07:00
tools ed25519 api refactor (#1041) 2016-08-30 02:37:51 -04:00
.gitignore simplify some constructors with in-class initializers (#1038) 2016-08-29 20:29:27 -04:00
.gitmodules
.travis.yml more boost types cleanup and handling of deprecated macos libcrypto (#1072) 2016-09-07 17:51:18 -04:00
AUTHORS
CMakeLists.txt created dht state and session params refactor (#1100) 2016-09-17 09:42:04 -04:00
CONTRIBUTING.rst update changelog and update contributing document 2016-04-24 15:33:14 -04:00
COPYING
ChangeLog merged RC_1_1 into master 2016-09-22 13:48:12 -07:00
Jamfile created dht state and session params refactor (#1100) 2016-09-17 09:42:04 -04:00
Jamroot.jam
LICENSE
Makefile.am adding support for a more configurable sha512 hasher (#1028) 2016-08-25 19:07:16 -04:00
NEWS
README.rst
appveyor.yml fix appveyor (#1132) 2016-09-21 22:58:54 -07:00
autotool.sh
bootstrap.sh
build_dist.sh merged RC_1_1 into master 2016-09-11 21:01:03 -04:00
configure.ac bump soname (#1094) 2016-09-14 23:22:57 -04:00
libtorrent-rasterbar-cmake.pc.in
libtorrent-rasterbar.pc.in
setup.py Workaround for python3 in setup.py (#1130) 2016-09-23 07:54:20 -07:00

README.rst

libtorrent
----------

.. image:: https://travis-ci.org/arvidn/libtorrent.svg?branch=master
    :target: https://travis-ci.org/arvidn/libtorrent

.. image:: https://ci.appveyor.com/api/projects/status/w7teauvub5813mew/branch/master?svg=true
    :target: https://ci.appveyor.com/project/arvidn/libtorrent/branch/master

.. image:: https://codecov.io/github/arvidn/libtorrent/coverage.svg?branch=master
    :target: https://codecov.io/github/arvidn/libtorrent?branch=master&view=all#sort=missing&dir=desc

.. image:: https://www.openhub.net/p/rasterbar-libtorrent/widgets/project_thin_badge.gif
    :target: https://www.openhub.net/p/rasterbar-libtorrent?ref=sample

libtorrent is an open source C++ library implementing the BitTorrent protocol,
along with most popular extensions, making it suitable for real world
deployment. It is configurable to be able to fit both servers and embedded
devices.

The main goals of libtorrent are to be efficient and easy to use.

See `libtorrent.org`__ for more detailed build and usage instructions.

.. __: http://libtorrent.org

To build with boost-build, make sure boost and boost-build is installed and run:

   b2

In the libtorrent root. To build the examples, run ``b2`` in the ``examples``
directory.

See `building.html`__ for more details on how to build and which configuration
options are available. For python bindings, see `the python docs`__.

.. __: docs/building.rst
.. __: docs/python_binding.rst