Alden Torres
ecb64a53a9
backport of popcnt asm for x86 and gcc/clang ( #864 )
...
backport of popcnt asm for x86 and gcc/clang
2016-06-28 00:34:21 -04:00
Arvid Norberg
a675682b6c
some cleanup of TORRENT_DEBUG defines ( #863 )
...
some cleanup of TORRENT_DEBUG defines
2016-06-27 22:28:51 -04:00
Alden Torres
f7515edc8b
added neon support for popcount ( #861 )
...
added neon support for popcount
2016-06-27 18:51:43 -04:00
Alden Torres
9233edae4e
using popcnt asm for x86 and gcc/clang ( #862 )
2016-06-27 18:51:00 -04:00
terry zhao
1a3e75b50a
fix msvc-8.0 build ( #860 )
2016-06-27 13:46:15 -04:00
Arvid Norberg
31b2a03005
some optimizations ( #858 )
...
allow disk I/O callback objects to be moved into disk io jobs
2016-06-27 01:02:00 -04:00
Arvid Norberg
c567a66f5e
simplify peer_connection's read handlers and the receive buffer. ( #853 )
...
simplify peer_connection's read handlers and the receive buffer. removed the concept of soft-packet-size. removed the secondary null-buffer receive path. removed try_read. simplify the buffer class to not be resizeable. make receive_buffer shrink the buffer allocation. add cap to growing the receive buffer. buffer sizes are always divisible by 8.
2016-06-26 20:41:03 -04:00
arvidn
263bd31782
merged RC_1_ into master
2016-06-26 18:07:21 -04:00
arvidn
b97ac65c01
don't perform expensive hash of piece data for logging
2016-06-26 13:11:52 -04:00
Arvid Norberg
7edc6b1cc2
insert invariant checks to try to catch async_check_files crash ( #856 )
2016-06-26 12:13:08 -04:00
Alden Torres
57ad035955
added arm __builtin_clz support and tests running in arm mode ( #854 )
...
added arm __builtin_clz support and tests running in arm mode inside travis
2016-06-26 12:01:42 -04:00
Arvid Norberg
eda956f13a
use standard library for suspending threads ( #855 )
...
use standard library for suspending threads
2016-06-26 09:24:06 -04:00
arvidn
be30bbd08b
merged RC_1_1 into master
2016-06-25 17:48:13 -04:00
arvidn
f56d698db6
fix asio-debugging
2016-06-25 17:29:40 -04:00
Alden Torres
c84aceea3f
using bsr even with no popcnt present ( #852 )
2016-06-24 17:43:29 -04:00
Alden Torres
9efba7d752
missing header when no cpuid is available ( #849 )
2016-06-23 22:36:31 -04:00
Alden Torres
ba6e1e9194
open default listen interface the same as no default ( #848 )
...
open default listen interface the same as no default
2016-06-23 17:54:31 -04:00
Alden Torres
436b781003
option to use only the openssl's sha1 implementation ( #845 )
...
separated ssl and crypto build options
2016-06-23 13:20:35 -04:00
Arvid Norberg
6917a11c6b
correct error introduced in add_torrent_impl refactor, with regards t… ( #846 )
...
correct error introduced in add_torrent_impl refactor, with regards to not having flag_duplicate_is_error set (which is not set by default)
2016-06-23 13:19:35 -04:00
Arvid Norberg
ce00ebf723
simplify and clean up some of torrent_info ( #847 )
...
simplify and clean up some of torrent_info
2016-06-23 11:34:26 -04:00
Arvid Norberg
21c1540ace
clean up natpmp and upnp logging ( #842 )
...
clean up natpmp and upnp logging. remove custom logging macro and use regular logging via alerts. honor TORRENT_DISABLE_LOGGING
2016-06-23 01:23:59 -04:00
arvidn
3b2a527ffb
Merge branch 'RC_1_1'
2016-06-22 00:41:02 -04:00
arvidn
763d313570
fix bug in enum_net() for BSD and Mac
2016-06-21 19:05:22 -04:00
Arvid Norberg
6aabe3762b
general modernization ( #836 )
...
general modernization. use nullptr instead of NULL, use std::tuple instead of boost::tuple, transition some unordered set/map from boost to std. some clean-up of includes
2016-06-20 11:32:06 -04:00
Arvid Norberg
a9dbbdea37
use array_view instead of std::vector in crypto_plugin interface ( #835 )
...
use array_view instead of std::vector in crypto_plugin interface. return a vector of const_buffers for prepending new buffers. use stack allocated (single buffer) iovecs for receives. general cleanup
2016-06-19 23:05:59 -04:00
Arvid Norberg
b2358666a1
remove lazy_bitfield ( #817 )
...
remove lazy_bitfield feature
2016-06-19 17:00:18 -04:00
Alden Torres
15bac1e9b5
config.h cleanup ( #834 )
...
config.hpp and .travis.yml cleanup
2016-06-19 02:32:12 -04:00
Arvid Norberg
717ed8bd3b
Msvc warnings ( #822 )
...
fix msvc warnings in python bindings and simulations
2016-06-18 19:24:27 -04:00
Steven Siloti
f1585d8317
Fix abort_jobs being called multiple times ( #831 )
...
disk_io_thread::abort_jobs must only be called once, but it was possible for
concurrent calls to be made from abort() and thread_fun() if the max threads
had been set to zero but there were still disk I/O threads running.
m_num_running_threads doesn't need to be atomic anymore
2016-06-18 16:53:23 -04:00
Arvid Norberg
ed077c8358
use cstdint intead of boost/cstdint.hpp ( #833 )
...
use cstdint intead of boost/cstdint.hpp
2016-06-18 14:01:38 -04:00
Arvid Norberg
ead11737b4
fix uses of defines for whether or not asserts are active ( #832 )
2016-06-18 08:31:07 -04:00
Alden Torres
d3cd568447
plugin callback refactor ( #823 )
...
grouping plugins per feature
2016-06-17 22:02:21 -04:00
Alden Torres
efa8bb0fc7
making disk_buffer_holder internal and include cleanup ( #827 )
...
making disk_buffer_holder internal and include cleanup
2016-06-17 17:40:22 -04:00
Alden Torres
2cc1054d7d
deprecate functions in torrent_handle ( #828 )
...
deprecate get_full_peer_list on torrent_handle
2016-06-17 16:07:28 -04:00
Arvid Norberg
4d927f4029
modernize disk_buffer_holder to be move-only ( #824 )
...
modernize disk_buffer_holder to be move-only
2016-06-16 08:24:41 -04:00
Steven Siloti
2fed4103f8
scalable thread pool ( #770 )
2016-06-15 20:49:28 -04:00
Arvid Norberg
c0fb61c5d7
replace the suggest-read-cache logic with something much simpler ( #815 )
...
replace the suggest-read-cache logic with something much simpler that doesn't schedule regular jobs and doesn't query the disk cache
2016-06-15 13:29:54 -04:00
Arvid Norberg
ce161a9d62
remove option to disable contiguous receive buffers ( #818 )
...
removed option to disable contiguous receive buffers
2016-06-15 08:04:53 -04:00
arvidn
4b186130e6
fix merge
2016-06-14 21:16:28 -04:00
Arvid Norberg
6f87c702fa
simplify dispatching of bittorrent messages ( #820 )
2016-06-14 15:19:32 -04:00
Alden Torres
38f4765ebc
added assert and documentation typos ( #816 )
2016-06-13 17:16:09 -04:00
Alden Torres
d759d8f742
not add peers from url if add_torrent_impl returns invalid handle ( #814 )
2016-06-13 07:47:16 -04:00
Arvid Norberg
6e55c0564f
suppress shift warnings in boost ( #811 )
...
suppress shift warnings in boost
2016-06-12 21:14:21 -04:00
Arvid Norberg
4e0a4db9b4
fixed inverted priority of incoming piece suggestions ( #809 )
2016-06-12 20:36:05 -04:00
Arvid Norberg
590f68cd3d
make parse_interface_list more robust and improve string tests ( #806 )
...
make parse_interface_list more robust and improve string tests
2016-06-12 02:00:10 -04:00
arvidn
0440c57f68
fix performance issue and assert with receiving metadata
2016-06-11 23:29:33 -04:00
Arvid Norberg
ef1a24518d
fix dht tests ( #803 )
...
fix tests
2016-06-11 15:37:28 -04:00
arvidn
dfc2206b9f
merged RC_1_1 into master
2016-06-11 01:00:41 -04:00
Arvid Norberg
5ecd00c5c5
fix osx build ( #804 )
...
fix osx build with asserts enabled
2016-06-11 00:48:13 -04:00
arvidn
1946e6c58b
merged RC_1_1 into master
2016-06-10 01:38:32 -04:00
Arvid Norberg
327af3a69e
optimize allow-fast logic ( #800 )
...
optimize allow-fast logic
2016-06-10 01:24:37 -04:00
Arvid Norberg
404d72b9b7
revert handshake round-trip optimization ( #797 )
...
revert handshake round-trip optimization. it prevents taking advantage of FAST extensions since the bitfield is sent before receiving the other peer's handshake
2016-06-10 01:14:37 -04:00
Alden Torres
0882d02c53
early resume data reset when fatal_disk_error ( #798 )
2016-06-10 01:09:49 -04:00
arvidn
f4a95131c5
improve asserts in dht_storage
2016-06-10 00:55:17 -04:00
Arvid Norberg
830a79dbcf
optimize allow-fast logic ( #800 )
...
optimize allow-fast logic
2016-06-09 08:02:41 -04:00
Arvid Norberg
5eaf713d1f
revert handshake round-trip optimization ( #797 )
...
revert handshake round-trip optimization. it prevents taking advantage of FAST extensions since the bitfield is sent before receiving the other peer's handshake
2016-06-07 21:45:48 -04:00
Alden Torres
c8f7d89652
early resume data reset when fatal_disk_error ( #798 )
2016-06-07 18:44:39 -04:00
Alden Torres
9d3cf5e68b
changed min_distance_exp for correctness and clarity ( #789 )
...
changed min_distance_exp for correctness and clarity
2016-06-06 18:22:33 -04:00
Alden Torres
3d5e0144c7
consider macro TORRENT_USE_IOSTREAM for sha1_hash iostream operators ( #790 )
2016-06-05 23:55:42 -04:00
Arvid Norberg
cbeb7adbde
fix .travis script to run simulations ( #791 )
...
fix .travis script to run simulations
2016-06-05 22:13:01 -04:00
Arvid Norberg
223f24ca27
some cleanup and transition to std::unique_ptr ( #786 )
...
some cleanup and transition to std::unique_ptr
2016-06-05 14:07:24 -04:00
Arvid Norberg
ae3b629649
improve invariant check of file_progress class ( #787 )
2016-06-05 14:06:11 -04:00
arvidn
8baf4f810a
fix graceful pause issue
2016-06-04 21:35:12 -04:00
arvidn
edf9f8070d
merged RC_1_1 into master
2016-06-04 14:09:19 -04:00
Alden Torres
db65eb320a
making dht counters additive ( #783 )
...
make dht counters additive to support both IPv4 and IPv6
2016-06-04 14:04:29 -04:00
Arvid Norberg
fa8232cd13
remove some old cruft and defines ( #785 )
...
remove some old cruft and defines
2016-06-04 10:03:13 -04:00
Arvid Norberg
8c8f5bb03b
deprecated public to_hex() and from_hex() functions ( #784 )
2016-06-04 10:01:43 -04:00
Arvid Norberg
3624ce6cfd
fixed crash on invalid input in http_parser ( #782 )
...
fixed crash on invalid input to http_parser
2016-06-04 09:53:23 -04:00
Alden Torres
7c4d92a627
Share the DHT storage for both IPv4 and IPv6 ( #762 )
2016-06-03 19:44:16 -04:00
Arvid Norberg
be67553897
simplify session pause mechanism by keeping two separate states in torrents and having the session explicitly tell torrents when it's pausing ( #779 )
2016-06-03 07:32:48 -04:00
Alden Torres
42a9022065
Refactor of listen alerts for separated fields address and port ( #778 )
...
Refactor of listen alerts for separated fields address and port
2016-06-02 22:38:56 -04:00
Alden Torres
cdd067fe4e
Minor cleanup ( #775 )
...
Minor cleanup
2016-06-02 07:25:06 -04:00
Arvid Norberg
14d085f607
rename allow_peers to paused ( #773 )
2016-06-01 01:05:32 -04:00
Arvid Norberg
92cd0ec7d1
simplify and clean up peer_list usage in torrent.cpp ( #772 )
2016-06-01 01:05:17 -04:00
arvidn
ec182492cc
improve add_torrent_params::flags documentation and fix related logging bug
2016-05-30 16:36:44 -07:00
Arvid Norberg
0583394af7
remove dependency on libtommath and use boost.multiprecision instead
...
remove dependency on libtommath and use boost.multiprecision instead
2016-05-30 14:33:24 -04:00
arvidn
7795b2ff6c
merged RC_1_1 into master
2016-05-29 10:01:55 -07:00
Arvid Norberg
b3bbb2f0f6
upgrade libtommath to 1.0 ( #765 )
...
upgrade libtommath to 1.0
2016-05-28 17:12:26 -04:00
arvidn
420b5f51e6
merged RC_1_1 into master
2016-05-27 12:35:53 -07:00
Alden Torres
7809863035
Removed unused cpp files ( #758 )
2016-05-27 13:28:04 -04:00
arvidn
67a497834a
back-port extra checks in pe_crypto from master
2016-05-27 09:51:06 -07:00
Arvid Norberg
6936405518
add more sanity checks to pe_crypto ( #761 )
2016-05-27 12:39:03 -04:00
Alden Torres
f8dcf30b2e
Ported support for magnet x.pe parameter from master ( #760 )
2016-05-27 12:12:32 -04:00
Alden Torres
10393697cb
Fix of parse_endpoint with invalid port character separator ( #757 )
2016-05-27 12:00:54 -04:00
Alden Torres
313006b8c7
Added support for x.pe parameter in parse_magnet_uri ( #755 )
2016-05-26 13:34:13 -04:00
Arvid Norberg
96999ad67f
replace uses of boost::bind with std::bind and lambdas ( #745 )
2016-05-25 00:31:52 -04:00
arvidn
98eabc63e9
using _WIN32 appears safer than WIN32
2016-05-23 23:02:52 -04:00
arvidn
0ce5a4c664
improve robustness in natpmp code a bit
2016-05-23 22:46:46 -04:00
Arvid Norberg
748af6eec1
general cleanup. remove valgrind markup, log_hash_failures and C headers ( #752 )
...
general cleanup. remove valgrind markup, log_hash_failures and C headers
2016-05-23 08:15:39 -04:00
arvidn
f1216686d2
merged RC_1_1 into master
2016-05-23 00:56:16 -04:00
Arvid Norberg
62fb7209ef
fix invariant check issue with a paused session ( #750 )
...
fix invariant check issue with a paused session
2016-05-22 22:58:11 -04:00
Arvid Norberg
cf3c95702b
Peer blocked alert ( #747 )
...
make peer_blocked_alert derive from peer_alert
2016-05-22 19:56:14 -04:00
Arvid Norberg
b5fc367d17
fix incorrect comparison function when deciding which peer to disconnect ( #746 )
...
fix incorrect comparison function when deciding which peer to disconnect
2016-05-22 13:46:37 -04:00
Arvid Norberg
584d74e2f0
fix union storage hacks ( #670 )
...
remove union storage hacks
2016-05-21 21:04:47 -04:00
Arvid Norberg
dceee3b065
simplify session call and replace session_handle and torrent_handle macros ( #741 )
...
remove use of macros in session_handle and torrent_handle forwarders
2016-05-21 19:05:42 -04:00
Alden Torres
afbfd6e890
Fixed compilation when TORRENT_UTP_LOG ( #738 )
2016-05-19 13:25:39 -04:00
arvidn
aa0d29b67d
merged RC_1_1 into master
2016-05-19 01:28:22 -04:00
Arvid Norberg
178a41b187
clean up natpmp logging infrastructure a bit as well as test_peer_list ( #735 )
...
clean up natpmp logging infrastructure a bit as well as test_peer_list
2016-05-18 01:54:37 -04:00
arvidn
35eff73662
fix missing include
2016-05-17 22:36:45 -04:00
Arvid Norberg
eb72bbf2d2
fix add_torrent_impl when adding a URL (which has been deprecated) when building with deprecated features disabled ( #733 )
2016-05-17 16:49:11 -04:00
Arvid Norberg
e8380e1d0b
factor out includes from config.hpp into the files actually using it. primarily, printf family of functions, since C++11 version is used now. This removes the need for an snprintf-wrapper on windows ( #732 )
2016-05-17 09:24:06 -04:00
Arvid Norberg
5b23bc81b6
fix print_backtrace build ( #731 )
2016-05-15 15:40:53 -04:00
Arvid Norberg
44a668db62
build with gcc/mingw on appveyor ( #722 )
...
enable gcc/mingw builds on appveyor. Some mingw tests crash currently, they need debugging and are currently disabled.
2016-05-15 13:28:22 -04:00
Arvid Norberg
1e7e01c671
transition to system_error as the exception type ( #730 )
...
transition to system_error as the exception type
2016-05-15 00:33:06 -04:00
Arvid Norberg
0d27a0acdd
fix assert when adding an empty file (as a torrent) ( #729 )
2016-05-14 13:24:29 -04:00
arvidn
c292696dcb
back-port fix adding empty file as torrent
2016-05-14 13:13:20 -04:00
Arvid Norberg
167cbe74b5
made alerts move-only and remove dispatch function and other deprecated alert functions requiring alert to be copyable ( #721 )
2016-05-13 08:19:44 -04:00
arvidn
84f70a77ee
fix assert
2016-05-13 00:16:51 -04:00
Arvid Norberg
53bd03558c
Dht stats 1.1 ( #720 )
...
fix missing dht stats counter updates
2016-05-12 21:27:11 -04:00
Arvid Norberg
a7213d3f5a
don't support older than msvc-14 (2015) ( #727 )
...
don't support older than msvc-14 (2015)
2016-05-12 21:24:45 -04:00
Andrei Kurushin
674641acce
fix file_storage::m_paths memory reuse ( #724 )
...
fix file_storage::m_paths memory reuse after rename_file with path delimiter
2016-05-12 16:45:23 -04:00
Arvid Norberg
4057aa0391
fix issue with comparison of cached time and real-time ( #719 )
2016-05-09 08:21:00 -04:00
arvidn
7c108e6c19
merged RC_1_1 into master
2016-05-09 00:30:30 -04:00
Arvid Norberg
5bedf3e7b3
post add_torrent_alert before any other torrent alert ( #717 )
...
post add_torrent_alert before any other torrent alert
2016-05-08 23:48:27 -04:00
Arvid Norberg
98bbeb68b8
transition some standard integer types from boost to std ( #711 )
2016-05-08 16:10:49 -04:00
Arvid Norberg
29902be3a0
some general C++ 11 cleanup. some typedefs and for loops ( #709 )
2016-05-07 18:46:42 -04:00
arvidn
254906eddc
back-port torrent peer-class fix from master
2016-05-07 14:56:22 -04:00
Arvid Norberg
8922990fc7
fix peer class leak in torrent and widen peer_class_t to allow for mo… ( #707 )
...
fix peer class leak in torrent and widen peer_class_t to allow for more instances
2016-05-07 14:52:10 -04:00
arvidn
29943ab0f0
fix warning
2016-05-07 09:24:05 -04:00
Steven Siloti
64409dae65
use move to avoid heap allocating the vector when posting watermark_callback ( #700 )
2016-05-07 00:55:38 -04:00
Arvid Norberg
bcb359cef6
use unsigned long for ioctl commands ( #705 )
2016-05-06 08:08:49 -04:00
arvidn
6cf5ac9dd1
merged RC_1_1 into master
2016-05-06 01:08:05 -04:00
Arvid Norberg
985436636e
added new preformatted type to bencode entry ( #698 )
...
added new preformatted type to bencode entry to support carrying a verbatim copy of an already bencoded subtree. This is to support saving torrents in resume data and create_torrent based on existing torrents, in order to preserve key order
2016-05-05 21:38:57 -04:00
Arvid Norberg
f9bc6dbc54
improvements to socks5 support (for 1.1.1 release) ( #567 )
...
capture listen IP and port from socks5 BIND response. add tests for socks5 and improve support for capturing the local endpoint (i.e. bind port) for BIND command socket connections. post listen_succeeded_alert when successfully bound to listen socket on SOCKS5 proxy. make sure to announce the socks5 listen port
2016-05-05 17:09:11 -04:00
arvidn
60088a1672
add missing file to makefile
2016-05-05 00:28:31 -04:00
Steven Siloti
fa693174e7
move vectors into alerts ( #699 )
2016-05-04 09:50:44 -04:00
Arvid Norberg
c6369194f0
simplify and optimize DHT routing table IP distance comparison ( #696 )
2016-05-03 23:22:25 -04:00
Arvid Norberg
077e9bb10c
improve node-id operations ( #693 )
...
improve node-id operations, to operate on 32 bits at a time instead of 8. move out some code into sha1_hash.cpp, from the header file
2016-05-03 08:29:27 -04:00
Jonathan McDougall
f065cacebf
* now calling stop_announcing() unconditionally instead of checking !is_paused(), which was always false when aborting a torrent and could cause infinite blocks while destroying a session ( #694 )
...
fixed torrent invariant check that wasn't using the m_abort flag and correctly stop trackers when shutting down
2016-05-03 01:34:43 -04:00
Arvid Norberg
f56c1f8b2f
remove mutex from tracker_manager ( #690 )
...
remove mutex from tracker_manager
2016-05-02 22:22:13 -04:00
Arvid Norberg
c91a700c07
Msvc warnings ( #685 )
...
fix msvc warnings and build examples with warnings-as-errors
2016-05-02 12:36:21 -04:00
Arvid Norberg
0d2c04cb2e
remove network thread pool feature ( #688 )
...
remove network thread pool feature (it was messy and mostly useful for bittorrent over SSL). The proper solution is to allow every peer run in its own asio strand and have multiple threads running the io service
2016-05-02 02:18:51 -04:00
Arvid Norberg
7048eb1f5c
be more conservative in marking packets as mtu-probes ( #689 )
2016-05-02 00:17:17 -04:00
Alden Torres
8ae1e9a21d
Moved disabled_storage and zero_storage for a private namespace in the compilation unit ( #687 )
2016-05-01 23:16:00 -04:00
Alden Torres
b85b501d92
Using address::is_multicast instead util function ( #686 )
2016-05-01 18:15:25 -04:00
arvidn
60c119c52d
remove mutex in natpmp
2016-05-01 12:28:16 -04:00
arvidn
accf13d93e
remove mutex in upnp
2016-05-01 12:24:54 -04:00
Arvid Norberg
0d5428a664
minor refactoring to move-storage patch ( #680 )
...
minor refactoring to move-storage patch
2016-05-01 12:23:02 -04:00
Arvid Norberg
53ca04036e
Merge pull request #681 from ssiloti/entry-move
...
add move ctor to entry
2016-05-01 10:12:18 -04:00
arvidn
fc4cc9e7ee
make the cached current time thread-safe
2016-05-01 08:50:23 -04:00
Steven Siloti
fef94a4c52
use standard random number classes ( #679 )
...
use standard random number classes
2016-05-01 08:35:28 -04:00
Arvid Norberg
770afadcda
use std::atomic instead of boost::atomic ( #678 )
...
use std::atomic instead of boost::atomic
2016-05-01 03:38:35 -04:00
Arvid Norberg
a3de04dffc
Merge pull request #675 from ssiloti/unique_ptr
...
Use unique_ptr where possible
2016-05-01 01:31:04 -04:00
Steven Siloti
f0b92a2047
add move ctor to entry
2016-04-30 21:02:22 -07:00
Steven Siloti
ff0675e64e
use standard array container ( #676 )
2016-04-30 23:10:47 -04:00
Vladimir Golovnev
64cb8b236a
Move storage "file-by-file" ( #632 )
...
When moving storage for a torrent, only move files belonging to the torrent, one by one.
2016-04-30 22:18:38 -04:00
Steven Siloti
2c00a613b2
use unique_ptr to network_thread_pool
2016-04-30 16:49:21 -07:00
Steven Siloti
0682e6146c
use a unique_ptr for the udp_socket receive buffer
2016-04-30 16:49:21 -07:00
Arvid Norberg
20b41ad0b9
Threads ( #671 )
...
use std::thread, std::mutex, std::condition_variable instead of pulling them in from boost.asio internals.
2016-04-30 18:54:23 -04:00
Arvid Norberg
98fb7df56f
use standard unordered containers ( #673 )
2016-04-30 16:53:20 -04:00
Arvid Norberg
4e97bf556c
use override and final keywords (unconditionally) ( #668 )
...
use override and final keywords instead of macros.
2016-04-30 11:05:54 -04:00
Arvid Norberg
f856b6bbe3
dial up cppcheck ( #663 )
...
increase cppcheck coverage and make sure there are no warnings
2016-04-30 00:24:45 -04:00
arvidn
36a5a11ee2
merge fix
2016-04-29 23:34:25 -04:00
Arvid Norberg
f0d95f5e3e
remove RSS feature ( #662 )
...
remove RSS feature
2016-04-29 15:54:21 -04:00
Arvid Norberg
84a35f5265
clean up settings_pack ( #665 )
2016-04-29 12:01:33 -04:00
Arvid Norberg
46b33f920b
remove explicit cache feature ( #661 )
...
remove explicit cache feature
2016-04-29 02:32:00 -04:00
arvidn
e0e05e3961
fix asserts firing in unit tests
2016-04-28 21:59:41 -04:00
arvidn
b8dad50757
fix whitespace
2016-04-28 17:14:41 -04:00
Arvid Norberg
10ec0234a7
remove resolve-country feature ( #656 )
2016-04-28 08:20:47 -04:00
Arvid Norberg
5f5aa2361e
use array_view more along the udp packet paths ( #655 )
2016-04-28 08:20:10 -04:00
Arvid Norberg
c557432431
attempt to run cppcheck on travis ( #644 )
...
run cppcheck on travis
2016-04-26 18:09:11 -04:00
Alden Torres
96b7d3ad46
Removed unused alert_observer.hpp ( #646 )
2016-04-26 11:48:43 -04:00
Alden Torres
d08bbbc0cc
Added asserts related to total_size in create_torrent ( #642 )
2016-04-26 00:37:47 -04:00
Arvid Norberg
3c785b96fc
Merge pull request #268 from ssiloti/dht-ipv6
...
Support DHT over IPv6
2016-04-25 19:19:48 -04:00
Andrei Kurushin
62eb956c54
fix x64 build with VS2015 UP2 compiler ( #640 )
...
fix VS2015 compiler warnings for: address-model=64, deprecated-functions=on, link=shared
2016-04-25 17:22:09 -04:00
Arvid Norberg
bbf411800a
remove pre-C++11 threadsafe static emulation ( #641 )
2016-04-25 08:38:48 -04:00
Alden Torres
7c4fabadfd
Removed unused statement ( #643 )
2016-04-24 23:47:57 -04:00
Steven Siloti
2d9a6b76f1
use asio::protcol instead of an enum/bool
2016-04-24 15:18:47 -07:00
Steven Siloti
d3ecc4c906
reduce the number of peers in a get_peers response with IPv6
...
Since IPv6 addresses are bigger we need to compensate to avoid generating
packets larger than 1500 bytes.
2016-04-24 14:26:57 -07:00
Steven Siloti
2abd9867ce
IPv6 DHT support
...
Fixes #110
2016-04-24 14:26:57 -07:00
Steven Siloti
356d2506bd
extend dht_observer to support IPv6 external addresses
2016-04-24 14:26:57 -07:00
Steven Siloti
11fa4f3e47
support IPv6 in node_entry and m_ips
2016-04-24 14:26:57 -07:00
arvidn
b5ecfa4f91
fix merge issues
2016-04-24 16:43:45 -04:00
arvidn
dec093dc1a
Merge branch 'RC_1_1'
2016-04-24 15:41:28 -04:00
Arvid Norberg
7251575d98
This patch does: ( #633 )
...
1. simplifies and regularizies creation of listen sockets based on the listen
interfaces setting.
2. simplifies and improves the behavior of UDP sockets, which are now explicitly
opened per listen interface
3. transitions udp tracker, DHT and uTP socket manager over to using the new
udp sockets
4. greatly simplified udp_socket to only wrap a single underlying socket (as
opposed to one IPv4 and IPv6 socket)
5. improved behavior of bind-to-device
6. introduce an array_view type to make udp packet passing code simpler
7. simplify and make setting of DF flag more robust
8. simplify and regularize port mapping of listen sockets
2016-04-24 15:26:28 -04:00
Arvid Norberg
c9c6dd2d3b
clean up the annotations used for asio debugging ( #639 )
...
clean up the annotations used for asio debugging (tracking outstanding async operations)
2016-04-23 17:29:25 -04:00
Arvid Norberg
a9f07a29bd
fix move_storage error handling bug ( #638 )
2016-04-23 10:02:52 -04:00
Alden Torres
6171c911a0
Added assert for total_size in create_torrent ( #636 )
2016-04-22 13:51:06 -04:00
arvidn
04a3c04075
merged RC_1_1 into master
2016-04-20 08:08:05 -04:00
Arvid Norberg
423ee1cef4
move some implementation details of bitfield into its own translation unit to not expose MMX and SSE internals (and fix shared linking) ( #630 )
2016-04-20 07:50:57 -04:00
Arvid Norberg
0b53fb70ad
add missing torrent_error_alert::filename function ( #629 )
2016-04-20 00:46:42 -04:00
Alden Torres
0fddd403b2
Better api for peers() method in dht_get_peers_reply_alert ( #628 )
2016-04-19 16:16:51 -04:00
arvidn
93408a02ff
fix classification of UDP packets as peer traffic
2016-04-18 01:29:46 -04:00
arvidn
ccc227f446
minor cleanup
2016-04-18 00:29:50 -04:00
Andrei Kurushin
7b5d48c02a
fix default release build with VS2015 UP2 compiler warnings ( #624 )
...
* fix default release build with VS2015 UP2 compiler warnings
this will allow to successfully build:
bjam toolset=msvc-14.0 release deprecated-functions=off character-set=unicode link=static warnings-as-errors=on
2016-04-17 16:56:07 -04:00
Alden Torres
a73d424b82
typos
2016-04-15 15:39:41 -04:00
arvidn
2529dbba7f
improve python binding of read_resume_data, and specifically add_torrent_params
2016-04-15 00:48:45 -04:00
arvidn
d17ae19391
Merge branch 'RC_1_1'
2016-04-11 02:08:06 -04:00
Steven Siloti
9ffadcde62
allow peers to resume allocating disk buffers when their last outstanding write completes
2016-04-09 16:48:05 -07:00
arvidn
5d499e83b6
fix uTP/SSL
2016-04-09 10:50:45 -04:00
arvidn
867b83ccda
merged RC_1_1 into master
2016-04-08 02:20:24 -04:00
Arvid Norberg
774735b046
Merge pull request #600 from arvidn/python-warnings-1.1
...
fix some build warnings in python binding
2016-04-08 02:17:45 -04:00
arvidn
5c17dc9f31
fix some build warnings in python binding
2016-04-07 22:45:23 -04:00
arvidn
cee2b16949
fix some coverity warnings and move out code to torrent_status.cpp
2016-04-07 21:44:24 -04:00
arvidn
876cef0d4c
restore the ipv6 http tracker argument, but restricted to only private torrents
2016-04-07 00:06:04 -04:00
Arvid Norberg
6767cf96f1
Merge pull request #546 from arvidn/move-into-self-1.1
...
fail correctly when move_storage is called to move into itself 1.1
2016-04-06 17:49:05 -04:00
arvidn
387498e54f
clean up in piece picker
2016-04-06 00:45:21 -04:00
Alden Torres
bb8d1d0e56
Revert utp log file to disable by default
...
Documentation typos
2016-04-03 22:32:06 -04:00
arvidn
dff0e7b0cd
fix concurrency issue in part_file::export_file
2016-04-02 21:29:20 -04:00
arvidn
31805ecec0
fix some clang build warnings
2016-04-02 12:27:42 -04:00
arvidn
6bc5de5903
fail correctly when move_storage is called to move into its own directory
2016-04-02 10:03:31 -04:00
arvidn
7f232dd195
fix python3 issue in binding
2016-03-30 23:35:47 -04:00
arvidn
fd4a46342f
merge RC_1_1 into master
2016-03-30 00:33:29 -04:00
arvidn
7649610807
fix test_optimistic_unchoking sim
2016-03-27 18:40:53 -04:00
arvidn
3e7a6b03e5
remove dead code in peer_connection
2016-03-21 18:47:17 -04:00
arvidn
b16f43132b
Merge branch 'RC_1_1'
2016-03-20 20:39:49 -04:00
arvidn
0095aa084f
make coalesce reads and coalesce writes actually work
2016-03-20 16:34:19 -04:00
arvidn
a9d12766d4
fix typo in hard_link()
2016-03-20 16:14:29 -04:00
Arvid Norberg
db214cc92d
Merge pull request #559 from arvidn/direct-io-1.1
...
remove unused O_DIRECT mode
2016-03-20 14:42:58 -04:00
arvidn
139fb29647
remove unused O_DIRECT mode, and relax/simplify alignment requirements for coalesce_buffers
2016-03-20 00:55:31 -04:00
arvidn
85cf5ac195
remove unused aligned_holder class. fix logging issue of out-of-bound piece requests
2016-03-19 23:32:50 -04:00
arvidn
96e2693d13
merge RC_1_1 into master
2016-03-19 16:02:46 -04:00
Arvid Norberg
e9b334ce63
Merge pull request #494 from arvidn/udp-bind-failure-1.1
...
attempt to fix issue with binding udp sockets on windows
2016-03-19 13:20:51 -04:00
arvidn
53b5e964d2
fix merge issue and properly close ssl udp socket when disabled, prevents the extra listen_succeeded alert for the ssl udp socket
2016-03-19 10:25:35 -04:00
arvidn
e9a5985609
if a udp socket is already bound to the IP and port we want to bind it to, don't reopen it
2016-03-19 10:25:30 -04:00
arvidn
d705dc2953
attempt to fix issue with binding udp sockets on windows
2016-03-19 10:25:30 -04:00
arvidn
f7c9062019
deprecate more parts of explicit cache as well as fixing typos of TORRENT_NO_DEPRECATE preprocessor tests
2016-03-19 07:54:29 -04:00
arvidn
c0033d0977
do not enable SSL listen sockets by default
2016-03-18 23:57:02 -04:00
arvidn
b446fe4bba
deprecate settings_pack::hashing_threads and replace it with aio_threads in documentation
2016-03-18 16:40:52 -04:00
arvidn
3c98868f6c
deprecate explicit cache feature
2016-03-18 12:15:03 -04:00
arvidn
6d1a744a5c
Merge branch 'RC_1_1'
2016-03-18 11:31:21 -04:00
arvidn
1cd5119178
remove/deprecate bad idea with mlock
2016-03-17 19:37:05 -04:00
arvidn
5c360247b6
move piece_bar into print.cpp in client_test. make client_test take arbitrary libtorrent settings
2016-03-17 08:19:11 -04:00
arvidn
77ce318a84
merged RC_1_1 into master
2016-03-17 00:46:05 -04:00
arvidn
317eb2fe2a
remove unused disk allocation code
2016-03-16 20:13:28 -04:00
arvidn
f79a9c7adf
merged RC_1_1 into master
2016-03-16 19:59:53 -04:00
Arvid Norberg
a1d60db706
Merge pull request #547 from arvidn/no-read-cache-1.1
...
fix use_read_cache=false
2016-03-16 08:14:15 -04:00
arvidn
4926081960
fix use_read_cache=false
2016-03-16 02:22:18 -04:00
arvidn
36d0cfe40d
fix shutdown issue caused by peer connections being kept alive by disk buffer pool callbacks
2016-03-16 00:28:19 -04:00
arvidn
08bac479be
allow each peer have at least 2 allocated disk blocks at any given time, to avoid stalling when cache_size setting is small. also deprecate use_write_cache
2016-03-16 00:28:11 -04:00
Steven Siloti
4331f57021
restrict check_cache_level to only runing on one thread at a time
...
If another thread trys to call check_cache_level then m_cache_check_state is set
to indicate that the thread currently in check_cache_level needs to call it again.
2016-03-14 19:03:12 -07:00
Steven Siloti
d405535a3f
try to free the piece after kicking the hasher and flushing
2016-03-14 19:03:12 -07:00
Steven Siloti
e8f93df700
fix indentation
2016-03-14 19:03:12 -07:00
Steven Siloti
826bbe35ee
always cache writes
2016-03-14 19:03:12 -07:00
Steven Siloti
6e8db41dd2
check_cache_level after performing a job rather than before
...
If dirty blocks are added while the job is running there is a chance of
deadlock if the dirty blocks cause the cache to exceed its size limit and
no further jobs come in to trigger another check.
2016-03-14 19:03:12 -07:00
Steven Siloti
9c5bb25d65
always clear outstanding_flush after attempting to flush a cached write
...
Also clear outstanding_flush before calling kick_hasher because kick_hasher
may unlock the cache mutex which can allow more dirty blocks to be added
which may require another flush_hashed job be added.
2016-03-14 19:03:12 -07:00
Arvid Norberg
82d177472e
Merge pull request #541 from arvidn/fix-test-transfer-1.1
...
improve message from listen_failed_alert
2016-03-14 21:43:34 -04:00
arvidn
c5861bcc04
fix failure to increment port when retrying socket binding
2016-03-14 18:52:43 -04:00
Arvid Norberg
42d423e992
Merge pull request #540 from arvidn/remove-purgable-control-1.1
...
remove the purgable control patch
2016-03-14 17:54:12 -04:00
arvidn
921cbeebed
add option to delete just the partfile when removing a torrent
2016-03-14 08:26:39 -04:00
arvidn
55cd19d1e2
remove the purgable control patch. It adds a lot of complexity and it does not perform well
2016-03-14 01:48:00 -04:00
Arvid Norberg
035f8e98d1
Merge pull request #542 from arvidn/request-timeout-1.1
...
fix seed timing-out unchoked peers for not sending requests
2016-03-14 01:44:50 -04:00
arvidn
58e73c1469
fix typo
2016-03-13 20:47:50 -04:00
Arvid Norberg
5652a46068
Merge pull request #508 from arvidn/part-file-1.1
...
attempt to fix issue where the partfile is not deleted
2016-03-13 18:05:01 -04:00
arvidn
8f14c74be8
fix issue where a seed could time-out an unchoked peer for not sending any requests, despite being busy servicing requests from the peer (and time out immediately when m_requests is drained)
2016-03-13 16:41:31 -04:00
arvidn
fb85e5e60f
improve message from listen_failed_alert. Post listen_failed_alert for every failure, including the ones that are re-tried
2016-03-13 16:18:44 -04:00
arvidn
0d0048d415
try to evict a volatile piece before allocating a new one for a hash check. It may be faster to check files without growing the cache, or reusing the same buffers.
2016-03-13 12:52:44 -04:00
arvidn
2178d1ad2b
improve robustness and performance of uTP PMTU discovery. fix duplicate ACK issue in uTP. demote an invariant check to 'expensive'
2016-03-13 12:40:59 -04:00
arvidn
6d85c7c5f0
merge RC_1_1 into master
2016-03-08 01:10:48 -05:00
arvidn
71e3fb8941
fix division by zero in super-seeding logic
2016-03-07 23:40:01 -05:00