libtorrent with premiere torrent support
Go to file
Steven Siloti f0ae2145ea use a handle class for listen sockets instead of raw pointers
Listen socket handles need to be week_ptr so that they can detect when a listen
socket is removed in the middle of a tracker announce on it. Use a wrapper class
to enforce that no one outside of session_impl can hold ownership of the socket
across event boundaries.

To support unit tests, listen_socket_t is also split into a base class which
holds the members needed to support the public listen socket API.
2017-07-21 19:18:44 -07:00
.github add contributing and issue template 2016-04-14 19:06:52 -04:00
bindings make bandwidth state flags use type-safe flags 2017-07-17 19:03:42 -07:00
cmake/Modules Fix compilation with cmake (#767) 2016-05-29 12:58:16 -04:00
docs fix some c++11 parsing issues in reference doc generation script 2017-07-17 22:01:54 -07:00
ed25519 move const data to readonly segment 2017-01-09 14:41:44 -05:00
examples convert peer_flags and peer_source_flags to type-safe flags 2017-07-17 10:22:32 -07:00
include/libtorrent use a handle class for listen sockets instead of raw pointers 2017-07-21 19:18:44 -07:00
m4 merged RC_1_1 into master 2016-12-20 01:16:13 -05:00
simulation use a handle class for listen sockets instead of raw pointers 2017-07-21 19:18:44 -07:00
src use a handle class for listen sockets instead of raw pointers 2017-07-21 19:18:44 -07:00
test use a handle class for listen sockets instead of raw pointers 2017-07-21 19:18:44 -07:00
tools introduce lt namespace alias 2017-04-23 23:43:58 -04:00
.gitignore merge RC_1_1 into master 2017-02-12 02:24:14 -05:00
.gitmodules add .gitmodules 2015-08-07 23:19:37 -04:00
.travis.yml restore ssl/crypto build feature in Jamfile to stay compatible with 1.1 2017-07-14 16:31:22 -07:00
AUTHORS update acknowledgements on front page 2016-11-27 09:34:09 -05:00
CMakeLists.txt use a handle class for listen sockets instead of raw pointers 2017-07-21 19:18:44 -07:00
CONTRIBUTING.rst update changelog and update contributing document 2016-04-24 15:33:14 -04:00
COPYING merge copyright year update and changelog from RC_1_0 2016-01-17 18:57:46 -05:00
ChangeLog Refactor several flags to torrent_handle::get_flags/set_flags. 2017-07-17 01:05:31 -07:00
Jamfile use a handle class for listen sockets instead of raw pointers 2017-07-21 19:18:44 -07:00
Jamroot.jam add Jamroot.jam 2012-06-14 05:43:10 +00:00
LICENSE merge copyright year update and changelog from RC_1_0 2016-01-17 18:57:46 -05:00
Makefile.am merge RC_1_1 into master 2017-03-08 18:01:59 -05:00
NEWS polishing, update copyright 2014-07-02 07:17:50 +00:00
README.rst add contributing and issue template 2016-04-14 19:06:52 -04:00
appveyor.yml fix mingw build wiht openssl on appveyor 2017-07-21 16:47:04 -07:00
autotool.sh Fix autotool.sh warning if builddir exists 2017-01-14 09:19:23 -05:00
bootstrap.sh merged bootstrap.sh script from RC_0_16 2013-05-29 02:11:15 +00:00
build_dist.sh merge RC_1_1 into master 2017-07-07 16:45:03 -07:00
configure.ac bump version number 2017-07-02 15:03:46 -04:00
libtorrent-rasterbar-cmake.pc.in don't add to pkg-config. #462 2009-01-07 02:22:58 +00:00
libtorrent-rasterbar.pc.in merged fixes from RC_0_16 2013-09-07 21:27:07 +00:00
libtorrent-rasterbarConfig.cmake add cmake package support 2017-07-10 16:57:29 -07:00
setup.py Fixup python code in bindings to pass PEP8 codestyle 2017-01-21 00:21:54 -05: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