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
Steven Siloti
bca41a681f
update comments regarding converting shared_ptr to unique_ptr
2016-04-30 16:49:21 -07:00
Steven Siloti
82b599aa4b
fix warning for signed/unsigned comparison
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
Arvid Norberg
c3e1e405b2
remove variadic template emulation for c++98, and introduce emplace_back to heterogeneous_queue as well, to avoid all moves of alert objects ( #658 )
2016-04-28 10:30:29 -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
Alden Torres
99e5db1925
Missing <map> include in add_torrent_params.hpp ( #653 )
2016-04-27 12:27:52 -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
arvidn
3121334346
restore session_time
2016-04-24 18:27:40 -04:00
Steven Siloti
2d9a6b76f1
use asio::protcol instead of an enum/bool
2016-04-24 15:18:47 -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
arvidn
ed5673bf5c
attempt to make session_time() not return negative numbers
2016-04-23 09:42:32 -04:00
Alden Torres
6171c911a0
Added assert for total_size in create_torrent ( #636 )
2016-04-22 13:51:06 -04:00
Alden Torres
3c40cacd5b
Documentation typos and minor include cleanup ( #635 )
2016-04-21 15:39:53 -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
Andrei Kurushin
c41ab094be
fix release build with VS2015 UP2 compiler warnings for: examples, test, tools ( #627 )
...
fix release build with VS2015 UP2 compiler warnings for: examples, test, tools
2016-04-20 00:45:32 -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
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
774ea740b4
make session_time return uint16_t
2016-04-14 19:22:27 -04:00
Alden Torres
f23cf84664
Disable preadv/pwritev for android
2016-04-13 00:08:08 -04:00
Alden Torres
4292cfbf04
Missing alert categories and support for dht_get_peers_reply_alert in python binding
2016-04-11 14:20:50 -04:00
arvidn
d17ae19391
Merge branch 'RC_1_1'
2016-04-11 02:08:06 -04:00
arvidn
08edf43b3f
fix to documentation generation to exclude private functions. fix makefile errors
2016-04-09 00:33:26 -04:00
arvidn
57d619eec7
update revision
2016-04-08 22:43:49 -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
Alden Torres
6d16811bae
Minor documentation fix
2016-04-06 16:54:19 -04:00
Arvid Norberg
f5c3c6addc
Merge pull request #581 from ssiloti/sockopt-levels-1.1
...
apply {get,set}_option to the appropriate socket based on the option'…
2016-04-04 23:10:21 -04:00
Arvid Norberg
d0edcaf632
Merge pull request #584 from arvidn/python-sharedptr-1.1
...
fix python GIL issue
2016-04-04 17:29:45 -04:00
Steven Siloti
4949721389
apply {get,set}_option to the appropriate socket based on the option's level
...
This avoids spurious errors being returned when trying to apply IPv4 options to
the IPv6 socket and vice-versa.
2016-04-04 13:45:06 -07:00
arvidn
90efec5d19
fix python GIL issue when passing in a torrent_info object that later gets destroyed from within libtorrent
2016-04-03 23:50:06 -04:00
Alden Torres
bb8d1d0e56
Revert utp log file to disable by default
...
Documentation typos
2016-04-03 22:32:06 -04:00
arvidn
31805ecec0
fix some clang build warnings
2016-04-02 12:27:42 -04:00
arvidn
9c712421c6
add missing include file to makefile
2016-03-30 01:46:33 -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
Arvid Norberg
a5af3b0dc5
Merge pull request #563 from arvidn/no-compact-1.1
...
remove remaining references to storage_mode_compact
2016-03-20 23:20:19 -04:00
arvidn
b16f43132b
Merge branch 'RC_1_1'
2016-03-20 20:39:49 -04:00
arvidn
e8693465a5
remove more references to compact storage allocation
2016-03-20 19:14:46 -04:00
arvidn
f5c112eefc
remove remaining references to storage_mode_compact (since it's been deprecated for quite a while now, and no longer implemented)
2016-03-20 18:25:24 -04:00
arvidn
0095aa084f
make coalesce reads and coalesce writes actually work
2016-03-20 16:34:19 -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
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
b446fe4bba
deprecate settings_pack::hashing_threads and replace it with aio_threads in documentation
2016-03-18 16:40:52 -04:00
arvidn
85f615132b
fix documentation mentions of session_settings to refer to settings_pack. clean out some outdated disk instrumentation docs
2016-03-18 16:40:52 -04:00
arvidn
b017bb1854
fix merge issue
2016-03-18 13:53:30 -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
7070492a5f
remove unused left-overs
2016-03-18 11:30:25 -04:00
arvidn
1cd5119178
remove/deprecate bad idea with mlock
2016-03-17 19:37:05 -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
Arvid Norberg
48df15c753
Merge pull request #544 from aldenml/typos
...
Documentation typos
2016-03-14 21:04:47 -04:00
Alden Torres
303074e159
Documentation typos
2016-03-14 20:43:52 -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
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
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
f5d5ac4f3a
fix bug where disk cache was wiped out after completion file-checking. factor out sim test utilities and reuse them in the regression test
2016-03-06 21:44:38 -05:00
arvidn
442979c318
support filtering which parts of session state are loaded by load_state()
2016-03-06 16:35:49 -05:00
arvidn
a02c1d2164
record cache settings in the job instead of checking it twice for more robust behavior
2016-03-06 16:15:13 -05:00
arvidn
26f88bb12d
add receive_buffer unit test and some more cleanup and asserts
2016-03-05 00:14:00 -05:00
Alden Torres
4998bfedc6
Documentation typos
2016-03-04 10:43:25 -05:00
arvidn
b9ec183e24
increase default connect speed. minor cleanup. add logging for short lived connections
2016-03-03 01:20:15 -05:00
Arvid Norberg
0cd0c57880
Merge pull request #507 from arvidn/fix-test-upnp-1.1
...
fix test_upnp build
2016-02-28 10:44:16 -05:00
arvidn
8ffa76842c
fix test_upnp build
2016-02-28 01:18:27 -05:00
arvidn
2f745a181c
fix typo and make alert non-copyable
2016-02-27 23:53:25 -05:00
arvidn
f563bf9cac
attempt to make the alert type backwards compatible with cloning the state when building with deprecated functions enabled
2016-02-27 20:25:17 -05:00
arvidn
587e888152
fix bug in torrent_info::rename_file
2016-02-27 10:20:23 -05:00
Steven Siloti
b52027a02a
set enable_dht to true in session::start_dht(entry)
...
This function needs to enable the dht to match its semantics in pre 1.1 versions
2016-02-26 19:22:28 -08:00
arvidn
2fd8047308
merged RC_1_1
2016-02-24 21:22:39 -05:00
arvidn
dcd6af6473
more fixing of test_transfer proxy tests
2016-02-24 00:03:56 -05:00
arvidn
0b173c6651
merged RC_1_1
2016-02-23 23:48:29 -05:00
Arvid Norberg
46e22cf3fc
Merge pull request #489 from arvidn/udp-port-mapping-1.1
...
fix port mapping for SSL UDP socket
2016-02-23 01:28:27 -05:00
arvidn
c919c63ca3
extend the tutorial
2016-02-23 00:54:14 -05:00
arvidn
72a3771b87
attempt to fix logic around around actually closing udp sockets (specifically the SSL UDP socket)
2016-02-21 20:00:55 -05:00
arvidn
d8b88ba381
include protocol in portmap_alert
2016-02-21 19:16:00 -05:00
arvidn
cdfdbfd6aa
fix port mapping for SSL UDP socket
2016-02-21 17:40:27 -05:00
arvidn
967ec412a5
Merge branch 'RC_1_1'
2016-02-21 15:21:33 -05:00
arvidn
cc8066bf11
properly deprecated adding torrents by http url
2016-02-21 11:31:42 -05:00
arvidn
3f3b366ed5
be a bit more strict about when the STL containers need complete types (to make it build under GCC with concept checks enabled). add proper assignment operator to types used in STL containers
2016-02-21 11:29:01 -05:00
arvidn
3ff4c0e348
add start of a tutorial
2016-02-20 17:28:41 -05:00
arvidn
5817db01e7
documentation fix
2016-02-20 15:57:20 -05:00
arvidn
a5d131b1bb
post fastresume_reject_alerts when building with deprecated functions enabled
2016-02-20 13:26:21 -05:00
arvidn
cc49b876bb
add flag for initializing m_need_save_resume_data when adding torrent
2016-02-20 13:26:21 -05:00
arvidn
c9d7e54d7b
make tests pass
2016-02-20 12:50:52 -05:00
arvidn
8135ea326f
rename async_check_fastresume to async_check_files, and make it take an add_torrent_params object instead of bencoded resume data
2016-02-20 02:00:07 -05:00
arvidn
4ef55073e3
transition mapped_files over to the new add_torrent_params
2016-02-20 02:00:07 -05:00
arvidn
6e88771981
transition merkle tree support over to the new read_resume_data()
2016-02-20 02:00:07 -05:00
arvidn
6223057b1e
added support for pieces, verified pieces and piece_priorities in new resume data scheme
2016-02-20 02:00:07 -05:00
arvidn
a60bbe0a1c
fix loading of peers and banned_peers from resume_data
2016-02-20 02:00:07 -05:00
arvidn
35b998f90d
introduce backwards-compatibility, of loading resume data and merging it with the add_torrent_params. add some more missing fields. deprecate some more flags in add_torrent_params
2016-02-20 02:00:07 -05:00
arvidn
e0ee12d4f3
remove m_resume_data and m_resume_data_loaded members from torrent
2016-02-20 02:00:06 -05:00
arvidn
59da9f35a8
extend some documentation
2016-02-20 02:00:06 -05:00
arvidn
197ded5a0d
revamp the way resume data is read, by providing a function for the client to parse resume data, capturing it in add_torrent_params
2016-02-20 02:00:06 -05:00
arvidn
9f45156b5a
Merge branch 'RC_1_1'
2016-02-18 21:46:46 -05:00
arvidn
2e5e11859f
soft deprecate support for adding torrents by HTTP URL (remove from documentation)
2016-02-18 18:34:45 -05:00
arvidn
07bee1f690
fix typo in include makefile
2016-02-17 17:12:47 -08:00
arvidn
72a24b63ba
use bind_to_device for listen sockets
2016-02-12 15:46:18 -05:00
arvidn
6d77000ab0
deprecate ssl_listen setting. instead ssl sockets are specified by an 's' suffix of the port in listen_interfaces.
2016-02-12 15:46:12 -05:00
arvidn
887e79eb22
improve support for listening on multiple sockets and interfaces, with the listen_interfaces setting
2016-02-12 15:44:17 -05:00
arvidn
3842a0a197
Merge branch 'RC_1_1'
2016-02-12 15:43:13 -05:00
Arvid Norberg
6b87c4dff2
Merge pull request #476 from ssiloti/RC_1_1
...
Fix note in listen_interfaces docs
2016-02-12 02:00:13 -05:00
Steven Siloti
7d5a3bf4ee
Fix note in listen_interfaces docs
...
Apparently rst2html doesn't appreciate tabs. Also make the note a proper rst
directive, I think this was the intention.
2016-02-11 20:29:07 -08:00
Alden Torres
feb2fd34d6
Documentation typos and new lines
2016-02-11 19:53:43 -05:00
arvidn
58f8fb164e
Merge branch 'RC_1_1'
2016-02-10 18:28:54 -05:00
arvidn
ee14337894
revert listen_failed_alert::port
2016-02-10 18:28:34 -05:00
arvidn
126ce22cb9
Merge branch 'RC_1_1'
2016-02-10 02:10:02 -05:00
arvidn
6ad2b0709e
correct the documentation for listen_interfaces
2016-02-10 02:07:41 -05:00
arvidn
d1e4b57ad4
rename a few members of session_impl to be more descriptive
2016-02-08 18:15:47 -05:00
arvidn
e7a0a9f49a
fix properly deprecating resolve-countries feature
2016-02-08 17:56:59 -05:00
arvidn
4f40f84a7e
Merge branch 'RC_1_1'
2016-02-08 15:28:34 -05:00
Arvid Norberg
7b1a8ff6f1
Merge pull request #465 from arvidn/got-tracker-1.1
...
removed unused field in torrent
2016-02-07 14:50:08 -05:00
arvidn
f4627db97f
removed unused field in torrent
2016-02-07 02:37:32 -05:00
arvidn
f8a53d17ec
un-deprecate the endpoint field in listen_failed_alert
2016-02-07 02:12:58 -05:00
arvidn
660647b590
improve abstraction level of stats cache and fix test
2016-02-06 15:51:00 -05:00
arvidn
ae7058e119
remove the timestamps and file sizes from the resume data. This makes saving resume data alot cheaper, since it doesn't have to go via the disk thread. It also removes an old-standing API usage issue where there was easily a race condition introduced between saving resume data and pausing a torrent.
2016-02-06 15:50:55 -05:00
arvidn
6b63016b05
Merge branch 'RC_1_1'
2016-02-05 01:09:11 -05:00
Alden Torres
930a33b59c
Fix compilation with BOOST_NO_IOSTREAM
2016-02-03 13:35:23 -05:00
arvidn
b0cc0f84ab
support NULL being passed as the listen interface to session constructor
2016-02-02 23:17:51 -05:00
arvidn
3a4f957b63
Merge branch 'RC_1_1'
2016-02-02 02:02:24 -05:00
arvidn
88b7e3768f
add sim test for optimistic unchoke round-robin distribution
2016-02-01 20:28:30 -05:00
arvidn
f2ce2284da
optimize the optimistic unchoke logic. extend the API for extensions to be able to affect the order of optimistic unchokes
2016-02-01 20:28:22 -05:00
Alden Torres
9f3d13281f
Documentation typos
2016-02-01 15:00:46 -05:00
arvidn
e113e8cdf3
minor cleanup of listen sockets
2016-01-31 19:40:31 -05:00
arvidn
e584c30b29
forward-port reuse address patch for windows
2016-01-31 18:16:26 -05:00
arvidn
acd929381e
restore the endpoint field in listen_failed_alert (but deprecated) and add a port field
2016-01-31 10:20:10 -05:00
arvidn
9f1b27cf5f
Merge branch 'RC_1_1'
2016-01-30 01:47:19 -05:00
arvidn
efe32c6a0e
rewrite most of web_peer_connection::on_receive to make it a lot simpler and fix edge cases with pad-files
2016-01-28 01:58:33 -05:00
arvidn
f31d17c9c5
allow specifying which tracker to scrape in torrent_hadnle::scrape_tracker
2016-01-26 18:14:32 -05:00
arvidn
2a0e64df46
add run-time check to file_storage::map_block and improve its documentation
2016-01-22 17:17:35 -05:00
arvidn
3153521367
merged RC_1_1 into master
2016-01-21 23:59:30 -05:00
Alden Torres
5c94b286b0
Removed file::m_path windows specific field
...
Removed default_storage::sparse_end
Typos
2016-01-21 12:11:33 -05:00
Alden Torres
218d33c545
Documentation typos and minor cleanup
2016-01-20 20:48:23 -05:00
Arvid Norberg
c984ea807d
Merge pull request #409 from arvidn/RC_1_1
...
merge RC 1 1
2016-01-19 01:24:34 -05:00
arvidn
b7b7ae199a
fix msvc build
2016-01-19 01:19:16 -05:00
arvidn
2262a3dcaf
Merge branch 'RC_1_1'
2016-01-18 20:51:37 -05:00
arvidn
9231af24b4
update changelog
2016-01-18 15:36:04 -05:00
arvidn
d5203c67d9
add DHT rate limit test (simulation). introduce a new counter for dropped incoming dht messages.
2016-01-18 14:34:42 -05:00
arvidn
06b52f1421
some cleanup of the dht_socket_interface and fix tests and simulations to build with the dht disabled
2016-01-18 14:34:42 -05:00
arvidn
297b8943d0
move the DHT rate limiter into the dht_tracker class and remove the rate_limited_udp_socket type. This further simplifies the udp socket (preparing for moving it into the listen_socket structure)
2016-01-18 14:34:41 -05:00
arvidn
1f9f588e75
merge copyright year update and changelog from RC_1_0
2016-01-17 18:57:46 -05:00
arvidn
3cd57b59e0
when a tracker is force announced or scraped by the user/client, the resulting response or failure alert is now posted regardless of the alert mask. Since it's user initiated, it's reasonable to expect the user to be interested in the response
2016-01-16 21:24:04 -05:00
arvidn
651b473908
add unit test for routing_table::update_node_id
2016-01-11 23:47:27 -05:00
arvidn
f4d643bd2d
instead of restarting the whole DHT when changing external IP, just rebuild the routing table and change the node IDs
2016-01-11 21:17:25 -05:00
Alden Torres
20d8f4e3f7
Removed unused fields in field class
2016-01-11 12:07:36 -05:00
Arvid Norberg
4e86c2257a
Merge pull request #376 from arvidn/discardable-alerts
...
remove the concept of non-discardable alerts
2016-01-10 19:59:05 -05:00
arvidn
c16e49ec43
remove the concept of non-discardable alerts
2016-01-10 16:12:16 -05:00
Jan Berkel
7c7ad60df6
Update comment
2016-01-10 15:09:28 +00:00
Alden Torres
0f442f59f3
Avoid pass IPv6 address to current implementation of DHT while adding a node
2016-01-09 18:46:19 -05:00
Alden Torres
7b34379c87
Doc typos
2016-01-05 08:31:04 -05:00
arvidn
a0678240f3
forward port fixes from RC_1_0
2016-01-03 23:34:57 -05:00
Alden Torres
b20096f0db
Comments typos
2016-01-02 11:46:10 -05:00
arvidn
e3ba811ae4
improve name of m_timer in dht_tracker
2016-01-01 16:42:44 -05:00
arvidn
01e6b93854
simplify and improve unit test for distance_exp. make some immutable variables const in the DHT implementation. instead of waking up periodically just to check if it's time to refresh the DHT secret key, set the timer to only wake up to refresh the key. If we don't have a DHT observer (to ask for our external IP) or if we don't know our external IP, don't generate a node ID based on 0.0.0.0, just generate a random ID instead. Simplified and improved node replacement logic in the routing table a little bit
2016-01-01 16:42:37 -05:00
Arvid Norberg
ffb78f0378
Merge pull request #312 from ssiloti/export-verify-message
...
export verify_message and incoming_error
2015-12-30 22:51:38 -05:00
Steven Siloti
30076218f8
entry is a class not a struct
2015-12-30 17:25:00 -08:00
Steven Siloti
ac01ccc43a
add templated wrapper around verify_message
...
It was too easy to forget to update the ret and size parameters
when the size of desec changed. With this change we now automatically
get the size of desc and enforce that ret has the same size.
It would be nice if we could use bdecode_node ret[static Size] from C99
but that is not widely supported.
2015-12-29 20:35:36 -08:00
Arvid Norberg
03e90d45d8
Merge pull request #339 from arvidn/dht-storage-test
...
extend the unit test of dht_storage
2015-12-20 02:02:56 -05:00
arvidn
3460f203f3
extend testing of sanitize_append_path_element
2015-12-19 20:11:22 -05:00
arvidn
15ec839d33
extend the unit test of dht_storage
2015-12-19 02:09:06 -05:00
arvidn
645b121df6
deprecate resolve-countries
2015-12-14 21:32:30 -05:00
Arvid Norberg
87dcd690d8
Merge pull request #327 from arvidn/stop-when-ready-fix
...
polish the stop-when-ready flag and improve documentation
2015-12-14 00:42:57 -05:00
Arvid Norberg
3516e53fa2
Merge pull request #329 from arvidn/warnings-fix
...
mark up some override functions and fix other clang warnings
2015-12-13 22:12:52 -05:00
arvidn
1712a8e4b4
polish the stop-when-ready flag and improve documentation
2015-12-13 20:31:28 -05:00
arvidn
505ae508f4
mark up some override functions and fix other clang warnings
2015-12-13 19:44:42 -05:00
arvidn
4b6e11cc07
deprecate set_tracker_login
2015-12-13 15:14:19 -05:00
arvidn
8416bcdd10
web_seed_entry needs to be exported
2015-12-12 21:46:05 -05:00
arvidn
121b686a39
add set_web_seeds to torrent_info
2015-12-12 18:36:15 -05:00
Arvid Norberg
550b0bb047
Merge pull request #313 from arvidn/setup-swarm-cleanup
...
clean up setup-swarm simulation utility to be more flexible
2015-12-12 14:07:26 -05:00
arvidn
d505f93d7a
port sim tests to use the new setup_swarm API
2015-12-12 00:41:47 -05:00
arvidn
54bf83739d
fix assert in bdecode assert for strings with prefixes of 6 or more digits
2015-12-12 00:19:13 -05:00
Alden Torres
e3fc859754
A few documentation typos.
2015-12-11 08:45:08 -05:00
Steven Siloti
c6f1e0bd7b
export verify_message and incoming_error
...
Also move these functions to a new msg.cpp. They are useful for plugins
which implement DHT extensions.
2015-12-05 18:20:08 -08:00
arvidn
cc3b064cff
fix graceful pause issue. peers regularly check whether they should disconnect or not
2015-12-04 23:27:43 -05:00
Alden Torres
1290bf5228
A few typos in documentation.
2015-12-04 18:15:11 -05:00
Alden Torres
409cfaccc1
Fix num_alert_types.
2015-12-03 22:04:32 -05:00
arvidn
98c9ac0448
fix msvc build
2015-12-03 19:28:57 -05:00
arvidn
69f4e94995
null_observer is used in a test now
2015-12-03 07:51:53 -05:00
arvidn
2acb3dcb24
clean up use of getrlimit() by wrapping it and move it to platform_util.cpp. Also take the opportunity to make it simulator friendly (consistent in simulation)
2015-12-02 00:45:34 -05:00
arvidn
12dde0f415
actually add a test to the unit test
2015-11-30 19:07:35 -05:00
Arvid Norberg
d0da753fb8
Merge pull request #302 from arvidn/fix-save-resume
...
fix save_resume_data in client_test
2015-11-30 17:17:57 -05:00
arvidn
60df41cd85
fix save_resume_data in client_test and make torrent a bit more instrumentable. This could be greatly simplified if resume data would not have file_sizes and timestamps
2015-11-29 20:31:57 -05:00
arvidn
332799bff2
make alert types declared final and disable the log alert declarations when logging is disabled
2015-11-29 10:16:02 -05:00
arvidn
fd3b53604c
add new piece picker logging alert category
2015-11-29 08:25:55 -05:00
arvidn
2c3d7ee0ef
fix a bug where the torrent's invariant was not always maintained as well as a shutdown issue (now covered by test as well)
2015-11-28 14:14:49 -05:00
Arvid Norberg
359fc5648b
Merge pull request #296 from arvidn/udp-read-handler
...
more efficient handler allocation for udp and second_tick
2015-11-28 01:06:10 -05:00
arvidn
a8e31fd8ca
add first coverage of test_transfer as a proper sim
2015-11-28 00:59:39 -05:00
arvidn
98c3b75b55
use more efficient (in-place) handler allocation for udp async_read and session second_tick
2015-11-28 00:57:44 -05:00
arvidn
e3dad98fbe
fix an old use of posix_category. make http_connection translate IPs into proper endpoints when connecting over socks (instead of passing the IP on as a hostname string). add test coverage
2015-11-24 00:39:02 -05:00
arvidn
92236a9923
clean up error_code use, and use error_condition to test for errors in test_http_connection
2015-11-24 00:39:01 -05:00
arvidn
174e0aeb46
fix semantics of socks5_stream and http_connection to make them not close themselves. Add socks5 and socks4 proxy coverage in test_http_connection
2015-11-24 00:39:01 -05:00
Steven Siloti
9c7edf803e
add override and a TODO
2015-11-22 18:58:32 -08:00
Steven Siloti
9f7aa7f3a6
fix segfault in put_data
...
If less than three nodes are found to put an item to then traversal_algorithm::start
will add router nodes. This leads to a crash in put_data::invoke when it tries to
read a token from uninitialized memory in a null_observer.
2015-11-22 16:05:24 -08:00
Steven Siloti
1f13343a70
const correctness
2015-11-22 10:02:26 -08:00
Arvid Norberg
ddddce6e2a
Merge pull request #280 from arvidn/stop-start-test
...
stop-start test
2015-11-21 02:31:11 -05:00
Arvid Norberg
42b129b9d5
Merge pull request #178 from thomas-yuan/put
...
Make dht_put_alert more accurate.
2015-11-21 02:30:45 -05:00
arvidn
c0d6b20634
extend swarm simulation test to include stopping and starting and graceful pause
2015-11-20 22:27:12 -05:00
Arvid Norberg
2eabf99307
Merge pull request #276 from arvidn/msvc-warnings
...
attempt to fix some msvc warnings
2015-11-20 08:04:38 -05:00
arvidn
f03cefceb6
fix documentation bugs
2015-11-20 01:00:39 -05:00
Thomas Yuan
ab70ad3e05
fix comments and unit test
2015-11-20 00:06:08 -05:00
Thomas Yuan
194ad410dc
Make dht_put_alert more accurate.
2015-11-20 00:06:08 -05:00
arvidn
c9c5496f1c
lower alignment requirement of socket_type to silence msvc warning (it was probably not warranted in the first place anyway)
2015-11-19 22:50:40 -05:00
arvidn
fba0762353
fix some msvc warnings
2015-11-19 19:01:54 -05:00
arvidn
964031c070
factor out readwritev to a free function, to allow unit testing of it
2015-11-19 17:58:55 -05:00
arvidn
cec6748e0c
remove the concept of slots, and just talk about pieces (since we don't do compact allocation anymore). Remove the section about compact allocation
2015-11-19 01:38:04 -05:00
Arvid Norberg
bdfed667e3
Merge pull request #267 from arvidn/storage-fix
...
fix support for incomplete reads/writes from disk
2015-11-14 12:54:57 -05:00
arvidn
fb2f2731cf
fix support for incomplete reads/writes from disk
2015-11-14 00:21:03 -05:00
Alden Torres
611d0c1c6e
Fixed to make it compatible with mingw-w64 and generic linux
2015-11-13 07:55:28 -05:00
arvidn
2626159abe
use a consistent random number generator to make simulations deterministic
2015-11-12 00:21:56 -05:00
Arvid Norberg
bae2b3394f
Merge pull request #258 from arvidn/version
...
forward-port version function from RC_1_0
2015-11-11 19:13:44 -05:00
arvidn
fbf152abc0
attribute external IP voting to the actual tracker IP we connected to, and preserve endpoint list in http_connection to make the re-announce to IPv6 logic robust
2015-11-11 01:30:28 -05:00
arvidn
d0dcf82612
fix bug in set_version and update version hash
2015-11-11 01:25:30 -05:00
arvidn
4c0b00c390
forward-port version function from RC_1_0
2015-11-11 00:57:51 -05:00
Steven Siloti
c2277b3ea5
fix traversal_algorithm::done() being invoked more than once
...
A traversal can be done while there are still outstanding queries (i.e.
m_invoke_count is non-zero) if K good responses have already been received and
none of the outstanding queries are closer than the nodes which have responded.
When this happens and the outstanding queries eventually complete or timeout
they call traversal_algorithm::failed() or traversal_algorithm::finished() as
usual which will cause traversal_algorithm::done() to be called yet again.
The fix is to always set the done flag on all queried observers in
traversal_algorithm::done() so that the observers will refrain from calling
back into the traversal.
This also makes traversal_algorithm::abort() redundant since this was the only
thing it did before it called into done().
2015-11-09 20:47:33 -08:00
arvidn
4814855933
update cache_size docs and raise the cap for 32 bit builds
2015-11-08 10:49:38 -05:00
arvidn
2592acfd8c
fix c++98 build
2015-11-07 21:14:52 -05:00
arvidn
a48cb785d0
forward port piece_block patch from RC_1_0
2015-11-07 18:50:54 -05:00
arvidn
00090b8284
fix typo in test_checking, introduced by recent error_code in torrent_status patch
2015-11-07 01:01:07 -05:00
arvidn
ebb9fdaf54
add error_code to torrent_status instead of error string
2015-11-05 20:43:23 -05:00
arvidn
f5da27ba9e
support large info-sections in torrent_info
2015-10-31 10:53:39 -04:00
arvidn
729a8e9152
update libsimulator. add simulation/test for announcing twice to trackers over IPv4 and IPv6. fix bugs preventing libtorrent from doing that correctly
2015-10-27 00:21:07 -04:00
arvidn
3cc464805f
update libsimulator submodule
2015-10-25 10:55:20 -04:00
Calum Lind
8f244868a5
Remove leftover TORRENT_COMPACT_PICKER definition
2015-10-20 12:12:44 +01:00
arvidn
76821f138f
fix gcc attribute order issue
2015-10-18 00:46:01 -04:00
arvidn
08e2bf7835
mark up some more functions with override and silence a few more warnings in boost headers
2015-10-17 10:02:37 -04:00
arvidn
74ee06bff7
add more override annotation
2015-10-17 02:20:38 -04:00
arvidn
81ee9d5d4e
make appveyor build the python binding installer for windows
2015-10-12 21:09:19 -04:00
Alden Torres
cf4c8d0058
Minor refactor in direct_traversal and some typos in bdecode header.
2015-10-08 09:15:16 -04:00
arvidn
41b8429cd1
clean up documentation makefile and documentation generation script
2015-10-07 00:48:43 -04:00
arvidn
6a7b9d1c4c
typo
2015-10-07 00:46:28 -04:00
arvidn
16661fb67c
fix documentation bug
2015-10-07 00:41:31 -04:00
arvidn
51c6079c42
add stop-when-ready feature, to support checking torrents without starting the download afterwards
2015-10-04 13:08:23 -04:00
arvidn
c798e388a9
forward port fix to proxy_peer_connections to master
2015-10-03 11:20:10 -04:00
Alden Torres
62b24d8b67
Add set_dht_storage to session API.
2015-10-02 09:00:07 -04:00
arvidn
a00e5aa6c7
forward port patch to have resume data web seeds override .torrent file web seeds, and a flag to merge them
2015-09-30 00:41:41 -04:00
arvidn
dab0f8b8d0
simplify the queuing logic for checking torrents. make all non-auto-managed torrents always be exempt from any queuing mechanism (including checking). Extend documentation on how it works
2015-09-29 20:49:37 -04:00
arvidn
8b30e78d69
forward port fix for bug where dont_count_slow_torrents could not be disabled, into master
2015-09-25 14:22:38 -07:00
Alden Torres
197a443465
Fix of dht_storage_counters::peers counter.
2015-09-24 10:50:04 -04:00
Thomas Yuan
f9fa8ffdec
Use ping instead of get_peers if current bucket is full.
2015-09-22 10:35:10 -04:00
Arvid Norberg
50ccce6eed
Merge pull request #174 from arvidn/fallocate-hack
...
remove fallocate hack (in master)
2015-09-22 07:18:07 -07:00
arvidn
5bdb583162
remove fallocate hack (in master)
2015-09-21 20:22:19 -07:00
Arvid Norberg
3e37785280
Merge pull request #152 from thomas-yuan/mutable-expiration
...
make immutable/mutable items lifetime configurable.
2015-09-21 20:20:53 -07:00
arvidn
dc77da5630
fix build
2015-09-21 20:19:05 -07:00
Thomas Yuan
7fec9e488d
make immutable/mutable items lifetime configurable.
2015-09-21 20:32:37 -04:00
Arvid Norberg
01193fcf7c
Merge pull request #163 from aldenml/dht-storage-counters
...
Create dht_storage_counters to avoid internal counter in future public API
2015-09-21 13:51:39 -07:00
Alden Torres
25ed70b977
Create dht_storage_counters to avoid internal counter in future public API.
2015-09-21 07:46:23 -04:00
arvidn
fb2f659a31
fix bug in time keeping of active_time, seeding_time, finished_time etc.
2015-09-21 00:38:56 -07:00
arvidn
2715ae475c
expose whether torrents are announcing to trackers, lsd and dht. these can be disabled by the queuing logic
2015-09-19 01:54:47 -04:00
arvidn
b628692223
separate out announce_entry and torrent_status into their own headers
2015-09-18 08:08:08 -04:00
Alden Torres
e2d682275a
Implementing and using new dht storage interface
2015-09-16 08:30:27 -04:00
Thomas Yuan
bee620b4f1
Fix routing_table bucket_size(int bucket) out_of_range logic error.
2015-09-10 17:19:00 -04:00
Arvid Norberg
abe994c191
Merge pull request #128 from thomas-yuan/patch2
...
Add read-only support in dht_settings and outgoing query messages.
2015-09-08 19:47:18 -04:00
Thomas Yuan
d6bb387ab9
Use dht_settings directly instead of add a read_only member variable.
...
Since rpc_manager has a reference of dht_settings, needn't pass it
as a parameter for incoming().
2015-09-08 10:35:30 -04:00
arvidn
ee3cb6cf86
move some internal headers to aux_ to fix documentation
2015-09-07 17:00:27 -04:00
Thomas Yuan
3d4ed9f37f
Add read-only support in dht_settings and outgoing query messages.
2015-09-07 14:24:46 -04:00
arvidn
113e84e7f6
fix appveyor build
2015-09-07 02:34:14 -04:00
arvidn
17c5759829
disable warning for unused command line argument and fix warnings. remove redundant travis build config. use new preprocessor on clang to avoid warnings
2015-09-06 22:55:41 -04:00
arvidn
b45c585a78
use gcc on linux and clang on osx
2015-09-06 22:55:41 -04:00
arvidn
536a5f897a
update queuing documentation and regenerate html
2015-09-06 18:14:06 -04:00
arvidn
cb65694578
fix const correctness in xml_parse(). update unit tests rss and upnp to use new signature for parser callback
2015-09-06 00:38:33 -04:00
arvidn
a344c659e5
Revert "use handler allocator for UDP socket read handler"
...
This reverts commit 3ccb4f7dca
.
2015-09-03 07:29:24 -04:00