Commit Graph

420 Commits

Author SHA1 Message Date
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 505ae508f4 mark up some override functions and fix other clang warnings 2015-12-13 19:44:42 -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
Steven Siloti 1f13343a70 const correctness 2015-11-22 10:02:26 -08:00
arvidn fba0762353 fix some msvc warnings 2015-11-19 19:01:54 -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 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 81ee9d5d4e make appveyor build the python binding installer for windows 2015-10-12 21:09:19 -04:00
Alden Torres 62b24d8b67 Add set_dht_storage to session API. 2015-10-02 09:00:07 -04:00
Alden Torres 197a443465 Fix of dht_storage_counters::peers counter. 2015-09-24 10:50:04 -04:00
arvidn ee3cb6cf86 move some internal headers to aux_ to fix documentation 2015-09-07 17:00:27 -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 a344c659e5 Revert "use handler allocator for UDP socket read handler"
This reverts commit 3ccb4f7dca.
2015-09-03 07:29:24 -04:00
arvidn 3ccb4f7dca use handler allocator for UDP socket read handler 2015-09-02 01:15:02 -04:00
arvidn f719b95f64 fix build issue 2015-08-31 00:54:16 -04:00
arvidn 4536f2c293 fix typo 2015-08-31 00:36:43 -04:00
arvidn a0c9fafd39 factor out handler_storage and allocating handler helper classes for allocating asio handlers in-place in peer objects 2015-08-31 00:17:42 -04:00
arvidn 0d9d632465 initial support for disabling proxy for tracker connections 2015-08-29 19:44:54 -04:00
arvidn 8cf8e65861 turn linked_list into a template to improve type safety and remove some casts 2015-08-20 02:02:46 +02:00
arvidn ffa870d280 fixed some GCC warnings 2015-08-20 01:33:20 +02:00
arvidn 347d976a70 since starting the DHT can be delayed now, also cache dht nodes added while waiting 2015-08-18 23:35:27 +02:00
arvidn cc4368b45a attempt to postpone DHT until all outstanding dht router name lookups complete 2015-08-18 22:56:00 +02:00
Arvid Norberg 68bc4f2cf4 Merge pull request #12 from mlt/wip/i2p
Few i2p fixes
2015-08-13 21:55:27 -04:00
Alden Torres b303a36ac2 Removed unnecessary full namespace reference to udp::endpoint in new dht_direct_request feature.
Add default value to userdata argument in dht_direct_request.
Minor spelling fix.
2015-08-12 00:49:09 -04:00
Steven Siloti 86fd8c3048 enable arbitrary direct dht requests and extension dht requests
If you're wondering why I used an alert for handling responses but not requests,
it's because the former was easy to do that way but the latter would have
involved some major refactoring or kludging. The DHT node is written with the
(IMO reasonable) assumption that all responses will be generated immediately, so
there was no way to easily accommodate getting a response asynchronously via
an alert.
2015-08-10 20:33:04 -07:00
Arvid Norberg 27c5a28637 Merge pull request #70 from thomas-yuan/master
Call callback function immediately when get data for mutable data.
2015-08-08 21:51:18 -04:00
Thomas e51b61870a Call callback function immediately when get mutable data. 2015-08-08 20:28:53 -04:00
arvidn 72286eb0dc minor asio.ssl abstraction cleanup. update libsimulator with build fix. only run simulator on one of the build variants on travis, since the simulator does not support ssl 2015-08-08 16:19:44 -04:00
arvidn 990aabe36f fix warnings and no-deprecated functions build 2015-08-01 19:55:36 -04:00
arvidn 52b4aed466 merge bdecode patch from RC_1_0. an empty string now produces an error rather than an empty bdecoded struct 2015-07-30 21:29:22 -04:00
Steven Siloti e6b3df3696 pass torrent_handle by const ref in the plugin api 2015-07-25 09:57:55 -07:00
Steven Siloti fbc67b4e21 switch to torrent_handle in plugin api 2015-07-23 19:52:23 -07:00
Mikhail Titov 007a580207 Options to use lowercase base32 encoding without padding 2015-07-14 12:41:12 -05:00
Alden Torres a856ae6e9b Added dht_get_peers and dht_announce at session level.
Refactored dht_put_item to dht_put_immutable_item in session_impl since the get operations are not overloaded (consistency).
Added allow_threading_guard to add_dht_node python binding.
Making dht_put_item in session returns a zeroed hash if TORRENT_DISABLE_DHT (avoid unnecessary calculation and it's more consistent).
Added missing DHT operations to the python binding.
Added missing allow_threading_guard to add_dht_node in the python binding.
2015-07-12 10:37:16 -04:00
arvidn c5614b691f export file_progress class when building unit tests. fix to web_server.py (used for unit tests) 2015-07-07 23:46:33 -04:00
Alden Torres fcac7140f8 Added dht_get_peers and dht_announce at session_impl level. 2015-07-01 15:30:08 -04:00
arvidn 94d6e06c97 first step in making opening all the listen sockets a bit more reliable 2015-06-29 23:10:09 -04:00
arvidn e2784df13c factor out file progress tracking from the torrent class 2015-06-28 22:47:11 -04:00
arvidn 2d1db68ea6 fix diagnostic push/pop issue 2015-06-28 18:44:37 -04:00
arvidn 5cb095f6d2 support using 0 disk threads (to perform disk I/O in network thread) 2015-06-14 16:00:04 -04:00
arvidn aa6598b2e6 don't return an internal session_settings type from the session, return a settings_pack instead 2015-06-07 00:23:30 -04:00
arvidn 9af8841244 remove some unnecessary asio typedefs in the libtorrent namespace, just pull ip::tcp and ip::udp 2015-06-06 13:49:18 -04:00
arvidn 389ffc622c don't pull in the asio namespace in libtorrent. refer to it by boost::asio 2015-06-06 01:24:25 -04:00
arvidn 15dd15d0d6 fix no-deprecated build. extend .travis.yml to build the 3 test configurations too. rename README to README.rst 2015-06-05 02:31:52 -04:00
Arvid Norberg 4e1e53f066 turn some more members of session_impl to private 2015-06-03 04:33:20 +00:00
Arvid Norberg 0351326add separate the main thread and the io_service from session_impl. The io_service object is now simply run() in the main thread, all initialization is done by posting messages to it. This generalizes session_impl to some degree, enables future expansion to run in multiple threads (although, the peers and torrents don't support this). This patch also makes it possible to pass in a third party io_service to the session, but at this point that's mostly useful for tests, as it's not well supported 2015-06-03 03:04:44 +00:00