Commit Graph

2605 Commits

Author SHA1 Message Date
Arvid Norberg 154cbeb5cf support web seeds that resolve to multiple IPs 2014-09-28 02:20:13 +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 8cbef3876a post alert on outgoing get_peers 2014-09-22 19:49:32 +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 c7a0bde196 fix bug in peer_connection::second_tick 2014-09-20 23:57:59 +00:00
Arvid Norberg c471bcb49f optimize peer classes a bit 2014-09-17 07:23:41 +00:00
Arvid Norberg 7e69239991 merged unit test from RC_1_0 2014-09-17 02:10:48 +00:00
Arvid Norberg 9a2e511dda attempted fix for inconsistent debug refcounters on blocks. pinning pieces with outstanding reads in an attempt at fixing inconsitencies seen around that logic as well 2014-09-14 22:42:18 +00:00
Arvid Norberg ad7d74f255 merged fixes from RC_1_0 2014-09-13 19:47:51 +00:00
Arvid Norberg eb32b1fef1 merged changes from RC_1_0 2014-09-12 22:38:07 +00:00
Arvid Norberg acdcf4c888 comment 2014-09-12 02:33:08 +00:00
Arvid Norberg 6bbdd4afa4 merged changes from RC_1_0 2014-09-03 06:52:45 +00:00
Arvid Norberg bed6d5c233 fix test builds without deprecated functions 2014-09-03 03:17:47 +00:00
Arvid Norberg 4d57456199 merged changes from RC_1_0 2014-09-02 06:28:27 +00:00
Arvid Norberg 19f3de10dd merged changes from RC_1_0 2014-09-01 08:59:12 +00:00
Arvid Norberg b1208c9f63 merged changes from RC_1_0 2014-09-01 07:16:31 +00:00
Arvid Norberg 695589c6ef attempted no-exceptions build fix 2014-08-28 07:09:24 +00:00
Arvid Norberg db788c9180 fix to make active_time, seeding_time, finished_time and upload_only_time all work for torrents that are not being ticked 2014-08-27 06:36:28 +00:00
Arvid Norberg 48ea42c990 merged changes from RC_1_0 2014-08-27 05:57:37 +00:00
Arvid Norberg 1ce69d122b add missing files 2014-08-27 03:33:41 +00:00
Arvid Norberg 4ddedc6a21 add extension hook on sending payload 2014-08-26 04:26:16 +00:00
Arvid Norberg 4394fea79e remove deleted file from makefile 2014-08-26 03:50:29 +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 51f2aafb43 clean up some time_t and srand() uses 2014-08-16 20:55:44 +00:00
Arvid Norberg 524384045c transition to use boost.random instead of rand() and custom pseudo random generator 2014-08-16 20:26:00 +00:00
Arvid Norberg 3f88389f05 merged changes from RC_1_0 2014-08-16 07:46:06 +00:00
Arvid Norberg c60ceacb71 switch over to use boost.atomic instead of home-built one 2014-08-01 07:32:54 +00:00
Arvid Norberg f32f5e96aa deprecate parts of cache_status and move those counters to session_stats counters. make the performance counters thread safe. fix some issues recently introduced to performance counters and the usage of them in client_test 2014-08-01 06:07:48 +00:00
Arvid Norberg 671ae32ae5 fix docs generation for stats counters 2014-07-30 02:00:14 +00:00
Arvid Norberg f0be98ce53 cleanup and make session_stats a bit more efficient 2014-07-30 00:34:53 +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 7c9c25e359 cleaned up redundant bytes and failed bytes counters. moved some into the stats_counters 2014-07-29 05:59:00 +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 fb23601898 merge bitfield fix from RC_1_0 (although, fix doesn't apply) 2014-07-28 04:41:40 +00:00
Arvid Norberg a7d68330e3 merged fix from RC_1_0 2014-07-22 09:04:56 +00:00
Arvid Norberg 2b1162aac9 fix build and suppress offsetof warnings in backwards-compatibility code 2014-07-22 05:35:05 +00:00
Arvid Norberg 42a30bb50f merged change from RC_1_0 2014-07-22 01:22:46 +00:00
Arvid Norberg 805c823523 merged fixes from RC_1_0 2014-07-21 03:19:58 +00:00
Arvid Norberg 79a2744fa8 fixed issue with queued resume data saving, and fixed regression in recent disk error check changes 2014-07-21 03:03:59 +00:00
Arvid Norberg c519968aa4 hide make_error_code function from documentation 2014-07-20 20:52:39 +00:00
Arvid Norberg 8552e75f21 merge error code fix from RC_1_0 2014-07-20 20:49:56 +00:00
Arvid Norberg cd456964ad storage fixes 2014-07-20 08:59:02 +00:00
Arvid Norberg 30713a4a79 remove buffer stats debugging feature 2014-07-19 08:20:20 +00:00
Arvid Norberg f15182a737 merged changes from RC_1_0 2014-07-19 07:12: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 fa613131c2 removed unused session_impl member, m_next_disk_peer 2014-07-13 06:34:59 +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 bf18e310e6 remove some peer connection dependencies on m_ses 2014-07-12 22:32:55 +00:00
Arvid Norberg 34440224fc merged web seed redirect fix from RC_1_0 2014-07-09 20:53:39 +00:00
Arvid Norberg 5b73194a0d restore gen_stats_docs.py 2014-07-08 23:44:34 +00:00
Arvid Norberg 8fc07e6e89 more work towards making client_test event-driven and use session stats counters instead of session_status + some refactoring 2014-07-08 22:37:13 +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 6ef1b98717 merged compiler warning fixes from RC_1_0 2014-07-05 14:10:25 +00:00
Arvid Norberg 6c6fe4dfe2 merged fixes of warnings from RC_1_0 2014-07-04 23:40:31 +00:00
Arvid Norberg 6cce06fbd6 merged changes from RC_1_0 2014-07-03 21:22:59 +00:00
Arvid Norberg a9862c6f50 fix documentation 2014-07-02 06:15:57 +00:00
Arvid Norberg fa4c016d39 fix bug in udp_socket when changing socks5 proxy quickly 2014-06-30 08:41:33 +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 735916ad44 remove restrictions on pad_file_limit and alignment when creating torrents. This makes the torrent creator more flexible to create all-padded files for instance 2014-06-18 06:22:01 +00:00
Arvid Norberg 2b7bef0f7b fix support for web servers not supporting keepalive 2014-06-15 18:02:59 +00:00
Arvid Norberg 6ed95d7f82 support storing save_path in resume data 2014-06-12 22:39:41 +00:00
Arvid Norberg 6d07af3b57 merge bitfield issue fix from RC_0_16 2014-06-11 08:32:24 +00:00
Arvid Norberg 2125efbbd8 merged streaming changes from libtorrent_aio into trunk 2014-06-06 01:26:18 +00:00
Arvid Norberg e8ef5cb84e documentation fixes, and remove debug dependency on file_pool structure layout 2014-05-26 01:02:26 +00:00
Arvid Norberg ea77427e07 added clear_piece_deadlines() to remove all piece deadlines 2014-05-23 02:23:11 +00:00
Arvid Norberg 0cb5db94b7 INT16_MIN and INT16_MAX macros for windows 2014-05-20 02:46:13 +00:00
Arvid Norberg a1e7d3229d improve queuing logic of inactive torrents (dont_count_slow_torrents) 2014-05-18 22:17:51 +00:00
Arvid Norberg 5b89c3f5f9 merged some of steven siloti's changes. expose optimistic unchoke logic to plugins 2014-05-12 07:28:34 +00:00
Arvid Norberg b16dc66df2 using certificates from buffers instead of files is only available in boost 1.54 and later 2014-05-12 04:30:19 +00:00
Arvid Norberg 8a132cb9ca fix int64_t -> boost::int64_t and run distcheck on build_dist.sh script 2014-05-11 08:20:42 +00:00
Arvid Norberg aef1335e76 add overload to set certificate by buffer, not just by path to a file 2014-05-10 21:53:50 +00:00
Arvid Norberg 35141733fb remove some old unmaintained example code. make examples depend less on libtorrent internals 2014-05-10 20:20:57 +00:00
Arvid Norberg e225259481 fix some msvc warnings 2014-05-10 03:23:05 +00:00
Arvid Norberg 2c27f857e7 fix build 2014-05-05 07:32:01 +00:00
Arvid Norberg 68b2679a16 move string_tokenize out of i2p_stream and add unit test for it 2014-05-04 22:40:30 +00:00
Arvid Norberg f015c0604a fix build and socket_io test 2014-05-04 08:20:31 +00:00
Arvid Norberg 555efd9279 factor out address/endpoint I/O into it's own unit test. merge write_string from bencode and socket_io. extend unit test 2014-05-04 06:46:47 +00:00
Arvid Norberg e5a9a6b36f make xml_parse not be a template 2014-05-03 21:10:44 +00:00
Arvid Norberg 474e77039f removed set_ratio feature 2014-05-03 17:11:55 +00:00
Arvid Norberg fc60391f53 fix exports for unit tests 2014-05-03 06:31:42 +00:00
Arvid Norberg 0ed91e248f leverage boost's endian detection in sha1-implementation 2014-05-03 03:45:51 +00:00
Arvid Norberg fc4c11405d documentation fix 2014-05-02 16:21:44 +00:00
Arvid Norberg e19c52ec98 improve lazy_bdecode test to cover more error cases 2014-05-01 03:54:47 +00:00
Arvid Norberg 903ac3b268 reference documentation cleanup 2014-04-28 04:46:33 +00:00
Arvid Norberg d7b8dbdc8f documentation fixes 2014-04-27 20:18:11 +00:00
Arvid Norberg f037704539 clean up peer-id in bt_peer_connection (for privacy mode) and reduce dependency on session 2014-04-22 23:37:21 +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 9e94a73ddd support web seeds in magnet links 2014-04-15 09:31:28 +00:00
Arvid Norberg 91799025f2 merged bdecode fix from RC_0_16 2014-04-04 03:21:15 +00:00
Arvid Norberg a63e074274 merged export fix from RC_0_16 2014-04-03 22:01:02 +00:00
Arvid Norberg 569ce0a965 honor pieces with priority 7 in sequential download mode 2014-04-03 02:03:14 +00:00
Arvid Norberg 9f0aec9427 attempt at msvc-10.0 build fix for test_dhy + small documentation note 2014-04-01 00:09:23 +00:00
Arvid Norberg a07426ff8b add missing include 2014-03-24 04:20:37 +00:00
Arvid Norberg 682ceff21b improve messaging of assert caused by precondition violation 2014-03-23 07:40:43 +00:00
Arvid Norberg c6b68ab683 fix warning 2014-03-23 01:41:00 +00:00
Arvid Norberg 6f82d3b8ae merged i2p_alert fix from RC_0_16 2014-03-15 22:20:19 +00:00
Arvid Norberg 1c954451ff seed mode fixes 2014-03-13 08:00:53 +00:00
Arvid Norberg 960f653f97 make ignore_non_routers more forgiving in the case there are no UPnP devices at a known router. Should improve UPnP compatibility. 2014-03-10 06:47:01 +00:00
Arvid Norberg 80011a4715 fix build error in config.hpp when included by C-files (like the ed25519 source for instance) 2014-03-09 00:49:36 +00:00
Arvid Norberg 51992598f0 fix build issue 2014-03-05 06:32:03 +00:00
Arvid Norberg 6730937d04 fix ip_voter to detect changing IPs 2014-03-03 09:49:58 +00:00
Arvid Norberg 0e04ab8d72 reorder the node-list in the DHT traversal algorithm if a node updates its ID 2014-03-03 05:09:53 +00:00
Arvid Norberg 8403e58f3c make dht test program able to get and put mutable items. fixed some DHT bugs along the mutable put/get path 2014-03-02 23:35:35 +00:00
Arvid Norberg a0a41b6c5e merged file priority fix from RC_0_16 and keep the disk thread's file priorities up to date 2014-02-28 10:19:29 +00:00
Arvid Norberg 86c704a6ff fix dht_bootstrap_alert being posted. add additional alert for dht put completion. add utility to test immutable put/get. fix issue in DHT preventing stores on router nodes (even when they return write tokens). immutable put and get confirmed to be working 2014-02-28 04:02:48 +00:00
Arvid Norberg 1188ec2dcd expose new DHT put/get functionality in the public session API 2014-02-24 00:31:13 +00:00
Arvid Norberg bfdb445890 merged SetFileValidData fix from RC_0_16 2014-02-23 19:13:53 +00:00
Arvid Norberg a943fec777 update copyright 2014-02-23 19:12:25 +00:00
Arvid Norberg 63c6e495bd don't use shared_from_this for session_impl 2014-02-21 04:30:59 +00:00
Arvid Norberg 5e931e9f63 fix documentation issue 2014-02-19 07:19:00 +00:00
Arvid Norberg 715b60c8ff attempted windows build fix 2014-02-17 07:24:43 +00:00
Arvid Norberg 2d5f0dddf7 merged mingw fix from RC_0_16 2014-02-15 02:45:04 +00:00
Arvid Norberg 68f2e3f1ff merged mingw fix from RC_0_16 2014-02-13 07:42:37 +00:00
Arvid Norberg e780f5240f fix typo 2014-02-13 07:28:48 +00:00
Arvid Norberg c937004443 fix export of upnp error category function 2014-02-08 03:21:20 +00:00
Arvid Norberg a71fbc4f68 include reason in peer_blocked_alert 2014-02-07 17:35:56 +00:00
Arvid Norberg 6c22d426d4 make all unit tests pass msvc's /RTCc instrumentation (no implicit integer truncation in casts) 2014-02-05 09:38:32 +00:00
Arvid Norberg 062e0f0510 reflow some comments 2014-02-03 02:45:26 +00:00
Arvid Norberg cf16399346 reflowed documentation comments in session_settings.hpp, added missing documentaton. regeneraged html 2014-02-03 02:41:24 +00:00
Arvid Norberg dc987538ee added documentation 2014-02-03 02:10:55 +00:00
Arvid Norberg 6597eaf09a there doesn't seem to be any point in exporting piece_block_progress, so don't do that. Introduce magic number check in disk_io_thread (mysterious crash/corruption happens in storage unit test on mac, but not very often and hard to reproduce). 2014-02-03 01:55:26 +00:00
Arvid Norberg cd4adae4ed add and fix some documentation. regenerate html. remove bittorrent_utp as a connection type, there's already a utp_socket flag 2014-02-02 09:33:19 +00:00
Arvid Norberg 0195eb661b wrap at 80 columns 2014-02-02 05:11:41 +00:00
Arvid Norberg 312fce78a1 reflow comments to break at 80 columns 2014-02-02 05:09:18 +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 15e2019332 clean up upnp error category by moving it into upnp.cpp, it's not properly encapsulated. added some documentation to torrent_handle. reformatted some documentation comments to honor an 80 column display 2014-02-02 03:05:55 +00:00
Arvid Norberg cafa5f1903 silence gcc warning 2014-01-28 10:47:32 +00:00
Arvid Norberg ce2805a258 merged lt_tex fix from RC_0_16 2014-01-26 01:17:58 +00:00
Arvid Norberg 1709b48b66 fix invariant check macro 2014-01-23 20:27:15 +00:00
Arvid Norberg 60af1aa451 update peer ranks when our external IP changes 2014-01-23 03:31:36 +00:00
Arvid Norberg e0644ce8f5 invariant check macro fixes 2014-01-21 19:26:09 +00:00
Arvid Norberg c7ed370096 regenerated html 2014-01-20 10:11:07 +00:00
Arvid Norberg 9ab349f1d0 improve dht error reporting 2014-01-20 09:20:47 +00:00
Arvid Norberg fec7407461 send implied_port in dht announce messages when uTP is enabled 2014-01-20 06:35:06 +00:00
Arvid Norberg e616b5b38e back-port allocator patch from libtorrent_aio to make the buffer debugging code generic and platform-independent 2014-01-20 03:55:24 +00:00
Arvid Norberg 967c56dff8 invariant check define cleanup 2014-01-20 01:36:59 +00:00
Arvid Norberg dca3f3c1a8 improve SSL error reporting and fix torrent_info::ssl_cert() bug 2014-01-20 01:01:03 +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 a5b5cf0f62 ignore unused parts of the internet on the DHT by default 2014-01-19 07:44:16 +00:00
Arvid Norberg 11038aeecb attempt to speed up client_test's loading of torrents 2014-01-19 04:11:49 +00:00
Arvid Norberg 20184a9a22 another rate limiter optimization attempt 2014-01-17 07:48:38 +00:00