Commit Graph

1033 Commits

Author SHA1 Message Date
arvidn 6c7c0cd878 fix up some old logging defines and improve the log output for send buffer watermark and request queue length 2015-07-17 23:54:25 -04:00
arvidn 2739def57f minor cleanups. use libtorrent typedefs for asio. failing to bind IPv6 UDP socket is no longer fatal. removed some redundant listen_failed_alerts 2015-07-11 23:01:27 -04:00
arvidn 2b05b1c85c fix cppcheck warnings 2015-07-11 10:36:13 -04:00
arvidn a63cfd2a95 improve logging (specifically don't emit bandwidth limiter logs when it's disabled) 2015-07-05 18:44:02 -04:00
Mikhail Titov 77ca1ac16f Quadruple handshake timeout for i2p 2015-06-24 19:40:17 -05:00
arvidn 323af56cc2 update interest when changing upload-only mode 2015-06-16 01:24:35 -04:00
arvidn 41533205be drop support for boost 1.35 and fix some more references to the asio namespace 2015-06-06 02:10:53 -04:00
Arvid Norberg d43f7b56a2 update copyright year 2015-06-03 05:18:48 +00:00
Arvid Norberg 607e708bc4 fix warnings 2015-05-19 03:13:49 +00:00
Arvid Norberg 58ae099cf8 clean up disk_io_job a bit to avoid old-style casts 2015-05-16 20:41:37 +00:00
Arvid Norberg 12c9d3de26 fix more warnings 2015-05-16 18:35:47 +00:00
Arvid Norberg 2bf4519bee make the torrent hold a pointer to the ip_filter instead of relying on a session reference 2015-05-16 06:33:37 +00:00
Arvid Norberg e7f9f35556 fix mistake in download_queue_time 2015-05-13 00:02:01 +00:00
Arvid Norberg 1357fd5265 clean up usage of printf attribute (encapsulate it in a macro) 2015-05-10 05:11:51 +00:00
Arvid Norberg a83dcbaaf0 removed access-log build option and log parser. added incoming_request_alert. This feature can now be implemented by clients 2015-05-09 03:04:08 +00:00
Arvid Norberg 4a304273fd fix some coverity issues 2015-05-03 03:28:39 +00:00
Arvid Norberg 4f216dece3 factor out strings of peer logs to be enums instead, in peer_log_alert 2015-05-03 02:53:54 +00:00
Arvid Norberg 42120014d0 merged changes from RC_1_0 2015-04-28 04:01:40 +00:00
Arvid Norberg a0e6b52a3f fix msvc build issues 2015-04-26 01:45:23 +00:00
Arvid Norberg 821e34c795 fix examples build. fix print formatting bugs. fix some gcc warnings 2015-04-25 04:22:51 +00:00
Arvid Norberg 91e66f65d3 removed unused argument (and silence warning) 2015-04-23 06:12:53 +00:00
Arvid Norberg 0b063de9ff fix more warnings 2015-04-21 04:30:34 +00:00
Arvid Norberg 3951377d95 fix include paths for warning push and pop headers 2015-04-21 01:16:28 +00:00
Arvid Norberg f5629eb403 cleanup and fixing of more warnings 2015-04-21 00:23:00 +00:00
Arvid Norberg 4d15f1410f fix warnings, some clean-up and todo comments 2015-04-20 04:52:49 +00:00
Arvid Norberg 4fd230dbe5 fix build and some warnings 2015-04-20 00:01:27 +00:00
Arvid Norberg 408232cfc8 raise warning level. fix a few of them. filter out warnings from boost 2015-04-18 02:33:39 +00:00
Arvid Norberg 1faf2e201f inversed TORRENT_LOGGING build config to enable logging by default. It's now disabled by TORRENT_DISABLE_LOGGING 2015-04-17 01:15:33 +00:00
Arvid Norberg 5f0b941a54 add more information to the invalid_request_alert and be more forgiving about requests from peers that have not sent an interested-message first 2015-04-13 01:34:19 +00:00
Arvid Norberg bb48b6e83c eliminate one more session dependency in peer_connection 2015-04-10 01:50:42 +00:00
Arvid Norberg 013ed36f09 landed alert_queue feature branch into trunk 2015-04-03 20:15:48 +00:00
Arvid Norberg 794de25212 moved escape_string.hpp into the aux_ directory. moved out the 3 public hex functions into its own public header, hex.hpp 2015-03-14 23:10:20 +00:00
Arvid Norberg c1dc982f4f deprecate the ptime type and related time types. just use boost::chrono / std::chrono 2015-03-12 04:34:54 +00:00
Arvid Norberg 0c8aee014c implemented utp extension header to indicate the reason to close the connection 2015-02-28 19:51:15 +00:00
Arvid Norberg 91270a0c2b make operation_t public and document it. include peer disconnects in client_test log 2015-02-15 05:17:09 +00:00
Arvid Norberg a831a78fd5 simplify and clean up utp_stream. fix missing error check in read handler in peer_connection 2015-02-15 00:25:56 +00:00
Arvid Norberg 2fdb7499fa optimize block_info allocation and downloading_piece size in piece_picker 2015-02-14 21:32:41 +00:00
Arvid Norberg 51f1a61d2d more piece_picker unit tests and some fixes 2015-02-13 02:58:21 +00:00
Arvid Norberg 9fb98b1151 remove speed affinity feature in piece-picker and peers 2015-02-08 21:17:00 +00:00
Arvid Norberg 1b9b6f7292 support http basic auth in http_connection passed in from the outside as opposed to part of the url 2015-02-08 16:03:09 +00:00
Arvid Norberg 097d5b484d improve piece picker support for reverse picking (used for snubbed peers) to not cause priority inversion for regular peers 2015-01-26 02:04:58 +00:00
Arvid Norberg d8d069675c improve piece picker to better support torrents with very large pieces and web seeds 2015-01-20 02:34:55 +00:00
Arvid Norberg 7668bf5d4c downgrade some todo comments 2015-01-15 19:13:45 +00:00
Arvid Norberg 95f889b247 some debug output 2015-01-13 06:11:42 +00:00
Arvid Norberg 1a53a454ec fix ssl unit test 2015-01-06 08:16:03 +00:00
Arvid Norberg 0977d94dbc merged changes from RC_1_0 2014-12-25 11:24:02 +00:00
Arvid Norberg 333a13c957 a bit more conservative block request timeouts. promote some invariant checks in the DHT as expensive (to disable them for regular debug builds) 2014-12-10 07:13:57 +00:00
Arvid Norberg 20b9a01a09 pack members of pending_buffer a bit 2014-12-10 01:05:40 +00:00
Arvid Norberg 5666cdcd07 fix warnings 2014-12-09 09:33:34 +00:00
Arvid Norberg 09bc1550e9 simplify the debug logging mechanism. There's now only one build option, logging=on or logging=off. When logging is enabled, the log level is controlled by the alert mask. All log events are delivered as alerts and it's up to the client to write them to disk in whatever way seems appropriate. removed the pointless logger plugin 2014-12-09 09:08:26 +00:00
Arvid Norberg 4eaec6d87f instead of using a fixed request timeout for every peer, have an adaptable one based on the average download time for a block 2014-12-08 17:06:04 +00:00
Arvid Norberg c4e5df8e4d remove the concept of timeout_extend in piece request timeouts. if a request times out, cancel it as soon as it holds up the completion of a piece 2014-12-07 22:22:38 +00:00
Arvid Norberg 790ef041bf merged changes from RC_1_0 2014-12-07 07:22:39 +00:00
Arvid Norberg 1ed1963f29 remove size_type typedef in favor of boost::int64_t 2014-12-03 04:32:50 +00:00
Arvid Norberg 658e2ceefd merged Steven Siloti's peer crypto patch into trunk 2014-11-23 06:14:47 +00:00
Arvid Norberg e1d0592a57 merged changes from RC_1_0 2014-11-14 09:35:39 +00:00
Arvid Norberg e526355d24 merged changes from RC_1_0 2014-11-09 11:17:13 +00:00
Arvid Norberg aae56c991c merged changes from RC_1_0 2014-11-08 16:58:18 +00:00
Arvid Norberg 601f0dc434 merged changes from RC_1_0 2014-11-03 06:15:51 +00:00
Arvid Norberg 85cc72835e finally rename policy to peer_list 2014-10-26 07:34:31 +00:00
Arvid Norberg 1c448331d5 fix stats_alert with recent changes to stats 2014-10-25 23:10:07 +00:00
Arvid Norberg e09a2b770d factored out choke comparison functions into choker.cpp 2014-10-22 22:30:04 +00:00
Arvid Norberg 32d368e1ce merged changes from RC_1_0 2014-10-12 18:16:46 +00:00
Arvid Norberg ec472daee3 fix bug in peer_connection causing it to not connect when not having metadata 2014-10-12 06:29:34 +00:00
Arvid Norberg ab34239447 fix invalid comment 2014-10-10 00:16:17 +00:00
Arvid Norberg a655047cb0 support SSL over uTP (unit test is still failing with same errors as previously, this has not been fixed yet) 2014-10-06 03:03:01 +00:00
Arvid Norberg 3c7a932aee update comments 2014-10-04 20:06:46 +00:00
Arvid Norberg ceccc2a483 land branch to remove half-open connection limit / connection queue 2014-10-03 20:56:57 +00:00
Arvid Norberg 6a4a5419c2 one more fix 2014-09-28 04:05:44 +00:00
Arvid Norberg 9a985d197f optimize num_seeds() and num_downloaders() to not count the peers every time 2014-09-24 09:03:57 +00:00
Arvid Norberg 60119bf0ca added auto-sequential feature 2014-09-24 00:02:00 +00:00
Arvid Norberg 7a55069ec9 add additional single-thread asserts and separate torrents from the session (in preparation for running them in separate threads/strands) 2014-09-22 17:41:06 +00:00
Arvid Norberg d7d498c3a3 more steps towards isolating peer_connections from the session object. unchoking now happens via the torrent object. hopefully in the future, the session can determine which peers to unchoke without having direct access to them (i.e. with a mutex) 2014-09-22 03:47:43 +00:00
Arvid Norberg 27b7705cf2 remove built-in GeoIP support 2014-09-21 21:01:48 +00:00
Arvid Norberg 2936556573 fix bug in delay-load feature of torrents 2014-09-21 02:06:03 +00:00
Arvid Norberg c7a0bde196 fix bug in peer_connection::second_tick 2014-09-20 23:57:59 +00:00
Arvid Norberg ad7d74f255 merged fixes from RC_1_0 2014-09-13 19:47:51 +00:00
Arvid Norberg b74f5b13ef fix another boost.chrono time overflow issue 2014-09-02 07:31:41 +00:00
Arvid Norberg 2f3e3caf0f fixed typo 2014-08-31 08:34:03 +00:00
Arvid Norberg 97a8e3b895 fix build error with verbose logging 2014-08-28 07:02:43 +00:00
Arvid Norberg 4ddedc6a21 add extension hook on sending payload 2014-08-26 04:26:16 +00:00
Arvid Norberg 7d751b80da merged fixes from RC_1_0 2014-08-26 03:14:32 +00:00
Arvid Norberg 862844e546 merged changes from RC_1_0 2014-08-22 07:56:10 +00:00
Arvid Norberg 40559fa564 fix typo in peer_connection 2014-08-11 15:53:53 +00:00
Arvid Norberg 0bc2d1eb8a cover edge case of receiving the response to a request before the callback of sending the request. fixes assert 2014-08-02 06:09:07 +00:00
Arvid Norberg 02f3e48eaa make performance counters able to blend in values, reducing a peer_connection -> session dependency on a sliding average state (this can be used for disk stats too) 2014-07-29 16:35:03 +00:00
Arvid Norberg ab8c1eb334 log latency of bittorrent requests 2014-07-28 22:18:06 +00:00
Arvid Norberg 2f6a68bad3 track RTT of piece requests 2014-07-28 07:52:59 +00:00
Arvid Norberg 118ba5e9c4 streaming fix 2014-07-26 17:48:24 +00:00
Arvid Norberg 499edabf9f a bit more cleaning up of m_ses uses in peer_connection 2014-07-19 22:33:45 +00:00
Arvid Norberg 30713a4a79 remove buffer stats debugging feature 2014-07-19 08:20:20 +00:00
Arvid Norberg 65bb1d0006 pass all the arguments to peer connections as an argument pack 2014-07-14 04:32:41 +00:00
Arvid Norberg 01640e1682 separate stats counters from session_interface (this was the main use of m_ses in peer connections) 2014-07-13 04:56:53 +00:00
Arvid Norberg ca27c0d5ca fix another boost.chrono issue 2014-07-13 00:48:32 +00:00
Arvid Norberg bf18e310e6 remove some peer connection dependencies on m_ses 2014-07-12 22:32:55 +00:00
Arvid Norberg a6f345181f fixed some unused argument warnings 2014-07-07 06:28:48 +00:00
Arvid Norberg 7351389ce8 land libtorrent_aio branch in trunk 2014-07-06 19:18:00 +00:00
Arvid Norberg 6c6fe4dfe2 merged fixes of warnings from RC_1_0 2014-07-04 23:40:31 +00:00
Arvid Norberg 6e275fbe21 removed left-over unused variables 2014-07-02 02:53:10 +00:00
Arvid Norberg 6043e14131 remove pch.hpp 2014-06-28 23:45:46 +00:00
Arvid Norberg 3f4eba1bdb web seed and storage fixes 2014-06-21 06:58:39 +00:00
Arvid Norberg 5642a0bd59 fix outstanding bytes issue when receiving redundant bytes 2014-06-17 08:07:03 +00:00
Arvid Norberg 2b7bef0f7b fix support for web servers not supporting keepalive 2014-06-15 18:02:59 +00:00
Arvid Norberg 6d95b48afa only attempt to set the TOS on socket when configured 2014-06-15 17:44:27 +00:00
Arvid Norberg e291ab3290 minor streaming improvements 2014-06-08 21:15:34 +00:00
Arvid Norberg 2125efbbd8 merged streaming changes from libtorrent_aio into trunk 2014-06-06 01:26:18 +00:00
Arvid Norberg e225259481 fix some msvc warnings 2014-05-10 03:23:05 +00:00
Arvid Norberg 474e77039f removed set_ratio feature 2014-05-03 17:11:55 +00:00
Arvid Norberg 3192e59a1a improve piece_deadline/streaming 2014-04-22 04:21:14 +00:00
Arvid Norberg 0b3df1c973 merged integer overflow fix from RC_0_16 2014-04-16 08:25:14 +00:00
Arvid Norberg 1734beda07 add missing includes for debug logging builds 2014-03-28 01:55:09 +00:00
Arvid Norberg 5b292133cb fix assert by only constructing piece_block with verified values 2014-03-16 07:30:44 +00:00
Arvid Norberg 1c954451ff seed mode fixes 2014-03-13 08:00:53 +00:00
Arvid Norberg a943fec777 update copyright 2014-02-23 19:12:25 +00:00
Arvid Norberg 9612ef193e cleaned up i2p_category to encapsulate it in i2p_stream.cpp, as well as the socks5 erro_category. added some documentation to torrent_handle and session. fixed reference documentation mapping of get_*_category() functions. regenerate documentation 2014-02-02 04:07:36 +00:00
Arvid Norberg f0d1e8636c extend verbose logging to try to catch test_priority failure on windows 2014-01-26 04:45:49 +00:00
Arvid Norberg 2a3f4e2360 merged verbose logging change from RC_0_16 2014-01-24 07:07:04 +00:00
Arvid Norberg 8ab1d8b686 more build fixes and cleaning up 2014-01-19 20:19:15 +00:00
Arvid Norberg 702b68ecc4 clean up assert related defines and debuf-only fields less error-prone. fix missing initialization in file_pool caused by mistake in defines under which the debug field was initialized 2014-01-19 19:45:50 +00:00
Arvid Norberg d7be4659c8 rate limiter overflow fix (for very high limits) 2014-01-13 06:49:47 +00:00
Arvid Norberg 4e6b1cfbfb update copyright 2013-12-25 17:07:16 +00:00
Arvid Norberg adb3a5523c some defensive programming. cleanup unused boost include. tighten up boost includes 2013-12-17 23:26:44 +00:00
Arvid Norberg 60a33f8cf8 make test_ssl build without openssl (and also not do anything) 2013-12-16 06:17:05 +00:00
Arvid Norberg 4f189e921d mark some expensive parts of invariant checks as expensive and disabled by default. introduce undead_peers to destruct all peer_connections in the network thread. they hang around while waiting for all outstanding disk jobs to complete. make the asio-debugging output a bit prettier 2013-12-05 07:42:32 +00:00
Arvid Norberg faa53d7657 member re-order and struct packing 2013-12-02 04:24:10 +00:00
Arvid Norberg fc2fc8dfb2 fix initialization order warnings. pack peer_connection and torrent 2013-11-26 07:47:48 +00:00
Arvid Norberg fe414878b2 cleanup of ABI breaking configuration options. TORRENT_DEBUG is believed to no longer affect the ABI of libtorrent. introduce a warning in gen_reference_doc.py for when defines are used in public structs. fix build with deprecated functions off 2013-11-17 22:38:37 +00:00
Arvid Norberg 5284de9d80 minor invariant check tweak 2013-11-10 10:49:57 +00:00
Arvid Norberg c147caca0d fix ssl issue in web_server.py 2013-11-04 10:06:14 +00:00
Arvid Norberg 90e7a4c9e3 merged some rate limiter polish from libtorrent_aio 2013-11-02 03:26:53 +00:00
Arvid Norberg cbe3a72a6e merged i2p fix from RC_0_16 2013-10-27 19:56:37 +00:00
Arvid Norberg af6dbc5d79 attempted fix for a crash in peer ranking 2013-10-23 06:45:23 +00:00
Arvid Norberg 5ae074994d revert a bad optimization from peer_connection's invariant check 2013-10-20 07:10:09 +00:00
Arvid Norberg 416d064489 optimize some invariant checks and make test_utp shorted, to complete much faster 2013-10-20 06:03:23 +00:00
Arvid Norberg 6542795d0a improved support for web seeds that don't support keep-alive 2013-10-20 02:40:43 +00:00
Arvid Norberg b7ae64fd1f don't try to fill send buffers after the torrent has started to shut down 2013-10-13 18:50:07 +00:00
Arvid Norberg 2df72d276e when evicting peers waiting to establish connection, evict the ones that have been trying for the longest first 2013-09-14 21:47:31 +00:00
Arvid Norberg 6a47271667 merge fix for deleting files from libtorrent_aio 2013-08-22 05:27:45 +00:00
Arvid Norberg 1afc0c6740 a bunch of fixes to make test_web_seeds a lot faster, and fail slightly fewer tests 2013-08-19 03:54:45 +00:00
Arvid Norberg a4d4b362e6 fix bug in duplicate-peer resolution. just take the port into account, not the whole IP, because the different ends may have different ideas of what their IP is 2013-08-15 05:29:05 +00:00
Arvid Norberg 6a1e861a1d introduce mechanism for plugins to prevent libtorrent to disconnect peers for time-out reasons 2013-08-09 07:55:12 +00:00
Arvid Norberg f7ec370723 extend peer_plugin to also be notified of disconnects and successful connect events 2013-08-03 23:31:43 +00:00
Arvid Norberg e1c4101817 improve peer_connect_alert 2013-08-01 00:44:14 +00:00
Arvid Norberg df97a76c2f enable request logging in regression testing 2013-07-30 15:59:41 +00:00
Arvid Norberg 2599acf451 merged time critical pieces improvement from RC_0_16 2013-07-27 17:43:34 +00:00
Arvid Norberg 1cb0161f0e merge fix from RC_0_16 2013-07-26 16:59:10 +00:00
Arvid Norberg 93993002ab merged unchoke algorithm fix from RC_0_16 2013-06-01 22:33:11 +00:00
Arvid Norberg fcff3e0e00 merged bootstrap.sh script from RC_0_16 2013-05-29 02:11:15 +00:00
Arvid Norberg 4395437c3b remove resolve countries build configuration from the public API (make linking easier) 2013-04-09 00:37:53 +00:00
Arvid Norberg c55bd0d1d4 merged piece request fix from RC_0_16 2013-04-08 02:55:07 +00:00