libtorrent with premiere torrent support
Go to file
d-komarov 41b3d437de Fix and improve setup_transfer
Numerous issues cause test fails on Windows(and Linux?). Most of them
found in print_alerts procedure.

Make print_alerts predicate check short-circuit, i.e. exit early on
first match. Fixes cases when appropriate variable may be re-assigned
multiple times with incorrect values.

Make stop_process wait until actual process successfully terminates.
This change is applicable to Windows only and helps to avoid tests
cleanup errors.

Make stop_proxy procedure do what it suppose to do. Previously it was
doing nothing with intention that all proxies are stopped after test
completion. Under Windows there are problems with proxy that has it's
socket connection abandoned. Thus failing the rest of test cases.

* Fix stop_all_proxies map using incorrect key to erase elements
* Fix wait_for_alert case with negative 'num'
* Make print_alerts predicate const& to avoid extra copy
* Make listen_alert and downloading_alert predicate procs reentrant
2018-02-19 23:23:15 +01:00
bindings use unique peer_ids per connection 2018-01-23 16:40:16 +01:00
docs update boost.asio link in documentation, minor cleanup of tutorial examples 2017-12-30 21:23:36 +01:00
ed25519 run undefined sanitier on travis/linux (#1134) 2016-10-08 12:29:46 -04:00
examples fix torrent_status::next_announce 2018-01-29 15:08:18 +01:00
include/libtorrent Fix compilation warning at friend declarations 2018-02-19 23:23:15 +01:00
m4 Fix autoreconf AC_LANG_CONFTEST warnings 2016-11-26 23:38:56 -05:00
simulation undo the patch to restore incoming TCP connections over SOCKS5 2018-02-19 00:01:42 +01:00
src CMake improvements 2018-02-19 23:23:15 +01:00
test Fix and improve setup_transfer 2018-02-19 23:23:15 +01:00
tools improve fwd.hpp generator 2017-12-31 11:44:14 +01:00
.gitignore Add missing announce_entry properties to python bindings 2017-02-11 08:07:43 -05:00
.gitmodules add .gitmodules 2015-08-07 23:19:37 -04:00
.travis.yml run fewer osx jobs on travis 2018-01-23 16:33:13 +01:00
AUTHORS fix infinite loop when parsing torrents whose filenames have zeroes. #2247 2017-08-16 07:21:34 +02:00
CMakeLists.txt CMake improvements 2018-02-19 23:23:15 +01:00
COPYING merge copyright year update and changelog from RC_1_0 2016-01-17 18:57:46 -05:00
ChangeLog undo the patch to restore incoming TCP connections over SOCKS5 2018-02-19 00:01:42 +01:00
Jamfile bump version number to 1.1.6 2017-12-29 15:53:51 +01: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 add bitcoin donation button 2017-07-17 22:59:40 -07:00
NEWS polishing, update copyright 2014-07-02 07:17:50 +00:00
README.rst make codecov link use list view 2015-12-19 23:06:00 -05:00
appveyor.yml fix openssl download links in appveyor script 2018-01-27 09:15:20 +01:00
autotool.sh forward port autotool.sh fix 2017-01-04 21:34:21 -05:00
bootstrap.sh merged bootstrap.sh script from RC_0_16 2013-05-29 02:11:15 +00:00
build_dist.sh cleanup tarball build script 2017-12-29 10:50:48 +01:00
configure.ac bump version number to 1.1.6 2017-12-29 15:53:51 +01:00
libtorrent-rasterbar-cmake.pc.in
libtorrent-rasterbar.pc.in merged fixes from RC_0_16 2013-09-07 21:27:07 +00:00
setup.py Add/fix shebang in python scripts, add execute permission (linux), remove whitespace/tabs at end of line 2015-07-12 14:24:01 +08: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

pull request checklist
......................

When creating a pull request, please consider the following checklist:

* make sure both travis-CI and appveyor builds are green. Note that on gcc and
  clang warnings are treated as errors. Some tests may be flapping, if so,
  please issue a rebuild of the specific build configuration. (I'm working on
  making all tests deterministic)
* If adding a user-facing feature, please add brief entry to ``ChangeLog``
* Add a unit test to confirm the new behavior or feature. Don't forget negative
  tests (i.e. failure cases) and please pay as much care to tests as you would
  production code.
* rebase on top of master periodically
* if your patch is against the current stable release branch, please also
  forward-port the patch to master (at the time of this writing, automatic
  merge in git does not work, possibly because the branch was created in svn)
* if your patch adds a new .cpp file, please make sure it's added to the
  appropriate ``Jamfile``, ``Makefile.am`` and ``CMakeList.txt``. If it's adding
  a header file, make sure it's added to ``include/libtorrent/Makefile.am``.