Commit Graph

524 Commits

Author SHA1 Message Date
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 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 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 7351389ce8 land libtorrent_aio branch in trunk 2014-07-06 19:18:00 +00:00
Arvid Norberg 6ed95d7f82 support storing save_path in resume data 2014-06-12 22:39:41 +00:00
Arvid Norberg 2125efbbd8 merged streaming changes from libtorrent_aio into trunk 2014-06-06 01:26:18 +00:00
Arvid Norberg ea77427e07 added clear_piece_deadlines() to remove all piece deadlines 2014-05-23 02:23:11 +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 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 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 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 ce2805a258 merged lt_tex fix from RC_0_16 2014-01-26 01:17:58 +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 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 f26df6cbfa allow force_announce to only affect a single tracker 2014-01-02 02:16:31 +00:00
Arvid Norberg 31e6d54ad2 torrent_handle::torrent_file returns a const torrent_info pointer 2014-01-01 21:24:15 +00:00
Arvid Norberg dc2243c17e add moving_storage field to torrent_status 2014-01-01 02:04:26 +00:00
Arvid Norberg 4e6b1cfbfb update copyright 2013-12-25 17:07:16 +00:00
Arvid Norberg a05103154b remove debug logging to print field offsets and struct sizes 2013-12-02 10:00:03 +00:00
Arvid Norberg fc2fc8dfb2 fix initialization order warnings. pack peer_connection and torrent 2013-11-26 07:47:48 +00:00
Arvid Norberg 288f203a92 fix missed function call in previous check-in 2013-09-06 05:44:38 +00:00
Arvid Norberg 3afe6c23a0 merged tracker key patch from RC_0_16 2013-08-31 21:06:43 +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 49aba26f5c merged shutdown fix from libtorrent_aio 2013-08-12 00:51:49 +00:00
Arvid Norberg beae6cece0 merged ssl fix from RC_0_16 2013-07-28 15:06:28 +00:00
Arvid Norberg 4cacb5f351 merge fix from RC_0_16 2013-07-17 20:23:30 +00:00
Arvid Norberg a571f361a2 merged fixes from RC_0_16 2013-07-16 15:55:14 +00:00
Arvid Norberg 982a14c2e9 extend move_storage functionality to have more flexible behavior 2013-05-09 02:50:16 +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 8d8d160b35 a bit more robust error messaging when deleting files in a torrent 2013-03-17 00:50:33 +00:00
Arvid Norberg d52a1f8c0a simplify logic for sending torrent_finished_alert and fix incorrect assert 2013-03-16 22:16:58 +00:00
Arvid Norberg a0caa0f4b2 disable invariant_check functions when invariant checks are disabled 2013-02-25 04:13:46 +00:00
Arvid Norberg 86a2569728 separate anonymous mode and force-proxy mode, and tighten it up a bit 2013-02-19 06:48:53 +00:00
Arvid Norberg b96b7067ba merged time critical piece fix from RC_0_16 2013-02-17 04:07:30 +00:00
Arvid Norberg 0951219ab6 simplify the accounting of active_download and active_finished torrents 2013-02-09 05:56:31 +00:00
Arvid Norberg 7607f20e2a add per-tracker scrape information to announce_entry 2013-02-04 07:17:31 +00:00
Arvid Norberg 327626b830 merged name resolver fix from RC_0_16 2013-02-02 23:59:11 +00:00
Arvid Norberg 2aacf1cd66 report errors in read_piece_alert 2013-01-29 02:18:32 +00:00
Arvid Norberg f1b8582a95 add gen_todo.py script. include todo.html and mark up some todos in the code with priority 2013-01-20 23:21:53 +00:00
Arvid Norberg aa9918a602 widen some fields in torrent 2013-01-20 08:36:34 +00:00
Arvid Norberg e45124fc22 back-port heavy weight refcount invariant checking from libtorrent_aio (disabled by default). and also backport piece-picker refcounting bug fix 2013-01-06 04:02:29 +00:00
Arvid Norberg ac5a9e9882 introduce global connection priority for improved swarm performance 2012-12-31 06:54:54 +00:00
Arvid Norberg 5b26d5d962 merged utp_socket_manager optimization from libtorrent_aio 2012-11-12 09:49:00 +00:00
Arvid Norberg f3ec86169e merged swarm startup optimization from libtorrent_aio 2012-11-03 03:50:12 +00:00
Arvid Norberg b81d1bfe08 merged web seed fix from RC_0_16 2012-10-06 17:51:59 +00:00
Arvid Norberg f5972efe9f merged finished alert asserts from libtorrent_aio 2012-10-06 17:50:06 +00:00
Arvid Norberg 5bc322c031 merged get_torrent_info deprecation from libtorrent_aio, replaced by torrent_file() 2012-10-02 16:07:55 +00:00
Arvid Norberg bff648a89e update copyright dates and add tool to do so 2012-10-02 03:16:33 +00:00
Arvid Norberg 5e2ff1a246 merged logging cleanup from RC_0_16 2012-09-27 23:04:51 +00:00
Arvid Norberg 9951724f16 back-ported add_torrent_params extension from libtorrent_aio 2012-08-31 17:04:02 +00:00
Arvid Norberg 3c0e7e0a4a keep counters of the number of active downloading and finished torrents in order to have a cheap way of prioritizing peer connections for downloading torrents over finished ones 2012-06-21 03:51:39 +00:00
Arvid Norberg 402d6bb6b6 optimize torrent::status to scale better with the number of peers 2012-05-06 22:46:21 +00:00
Arvid Norberg 10b64a7761 add all_set() function on bitfield and automatically call inc_refcount_all or dec_refcount_all if all bits are set in a bitfield 2012-05-02 18:55:58 +00:00
Arvid Norberg bf3751640a fix multiple bitfields issue 2012-05-02 01:08:25 +00:00
Arvid Norberg 2fc7f2191f is_seed() is not a good indicator of whether or not we have a piece picker. use has_picker() instead 2012-04-25 19:16:22 +00:00
Arvid Norberg 49f74be42f make super-seeding a bit more robust 2012-04-23 05:48:46 +00:00
Arvid Norberg a7f1d7df91 make torrent::have_piece support magnet links 2012-04-21 16:58:21 +00:00
Arvid Norberg 40db19ff7d fix build with release-asserts 2012-03-30 05:27:06 +00:00
Arvid Norberg 6fcc469aef support banning web seeds that send corrupt data 2012-03-24 01:29:31 +00:00
Arvid Norberg a2521bd23c fix a bunch of issues to properly support dynamic linking of libtorrent with visibility=hidden. Still requires a small patch to boost 2012-03-18 23:31:04 +00:00
Arvid Norberg ea59a9be22 simplify connection attempt distribution logic to not lower the connection rate with a downloading torrent among seeding ones 2012-03-05 10:42:25 +00:00
Arvid Norberg fdc6d3722b fix boost version condition for new asio ssl features 2012-02-26 00:01:53 +00:00
Arvid Norberg 6c395cedee fix build for boost < 1.47 2012-02-23 04:32:50 +00:00
Arvid Norberg 679abf2e57 this time, actually remove the encrypted torrent (AES-256 encrypted peer connections) 2012-02-09 06:47:22 +00:00
Arvid Norberg 818620a5a8 fixed release build 2012-01-23 05:14:12 +00:00
Arvid Norberg 7f90a241b6 don't let hung outgoing connection attempts block incoming connections 2012-01-21 09:05:34 +00:00
Arvid Norberg ae90a8f85e verify that torrent names matches the DNS name in its certificate (RFC 2818-style). Fix issues that was breaking SSL support and tidy up a bit 2012-01-15 23:34:43 +00:00
Arvid Norberg 4a40e68a82 landed ssl branch back into trunk 2012-01-14 16:04:25 +00:00
Arvid Norberg f60ea6a4a9 support queue positions greater than 32768 2011-12-23 19:30:23 +00:00
Arvid Norberg 5d8ce01c7a silence valgrind warning about uninitialized memory 2011-11-20 20:49:18 +00:00
Arvid Norberg fdc5e7e8b2 keep track of where redundant downloads come from. make the timing out of block requests more reasonable in an attempt to actually complete pieces from other peers when stuck on a slow one 2011-11-16 02:29:59 +00:00
Arvid Norberg c4232065d8 introduced a more scalable API for torrent status updates (post_torrent_updates()) 2011-11-15 02:34:00 +00:00
Arvid Norberg 976a50384a some more struct layout optimization 2011-09-22 10:37:47 +00:00
Arvid Norberg 469414d486 initial BitTorrent over SSL support 2011-09-12 03:51:49 +00:00
Arvid Norberg 675721d971 basic support for bittorrent connections over SSL 2011-09-10 05:52:07 +00:00
Arvid Norberg 92bcb9ebfd feature to encrypt peer connections with a secret AES-256 key stored in .torrent file 2011-09-05 05:50:41 +00:00
Arvid Norberg a286a6b4aa initial attempt at verifying the certificate of ssl trackers, by including the certificate in the .torrent file 2011-08-28 21:06:15 +00:00
Arvid Norberg 109e527568 added reset_piece_deadline function 2011-08-05 06:31:46 +00:00
Arvid Norberg 8d86c3bacc fixed release-asserts bulid 2011-07-05 04:05:12 +00:00
Arvid Norberg b8614a36b3 fix resume state for paused when torrent was in graceful pause mode 2011-06-05 20:48:00 +00:00
Arvid Norberg df003ef57c fix checking behavior when pausing/resuming the session 2011-06-05 03:06:34 +00:00
Arvid Norberg c003e4f810 extend plugin API to allow hooking when peers are added to the peer list 2011-05-02 01:45:56 +00:00
Arvid Norberg a9cc2101c6 fixed bug with setting and getting file priorities 2011-05-01 17:43:15 +00:00
Arvid Norberg 0eb7505ad9 fix race condition when resolving the hostname of a web seed and removing it 2011-04-29 08:09:03 +00:00
Arvid Norberg 86d52bbe13 include info-hash in torrent_status and post event when disk cache is fully flushed when deleting a torrent 2011-04-19 08:21:09 +00:00
Arvid Norberg c0f2d5186f added option to replace trackers or add trackers when loading trackers from resume data 2011-04-10 21:33:29 +00:00
Arvid Norberg 3435da235d make is_upload_only() be accurate and deal with super seeding special case only where necessary. Fix pointless assert in invariant check 2011-04-09 23:57:56 +00:00
Arvid Norberg e9459b4df8 rss fixes 2011-03-23 02:46:22 +00:00
Arvid Norberg c15880be91 support having torrents that the IP filter doesn't apply to 2011-02-27 17:26:57 +00:00
Arvid Norberg 7288f77ec9 support saving metadata in resume file, enable it by default for magnet links 2011-02-26 07:48:05 +00:00
Arvid Norberg 141ada013f fixed a whole bunch of build warnings on gcc and msvc, along with some fixes discovered along the way 2011-02-21 05:24:41 +00:00
Arvid Norberg 513914050c fixed broadcast_lsd option. in trunk, redefined it to only broadcast every 8th packet 2011-02-16 10:16:52 +00:00
Arvid Norberg b842815710 added new session functions to more efficiently query torrent status 2011-02-01 09:48:28 +00:00
Arvid Norberg 87dfdd4790 expanded plugin interface to support session state. improved re-request logic in ut_metadata extension. made max metadata size configurable 2011-01-29 10:37:21 +00:00
Arvid Norberg c223291fb4 added support for RSS feeds 2011-01-18 03:41:54 +00:00
Arvid Norberg a3e7095f84 url downloading fix 2010-12-30 06:46:28 +00:00
Arvid Norberg 26053e4b76 support adding torrents by url to a .torrent file 2010-12-30 01:47:30 +00:00
Arvid Norberg dc9af94ee1 avoid self-assignment of tcp::endpoint (causes a memcpy with overlapping ranges) 2010-12-25 09:13:50 +00:00
Arvid Norberg d554cf88e6 optimized swarm startup time (shaved off about 1-2 seconds) by introducing torrent connection boost on the first tracker response for a torrent 2010-12-17 03:10:56 +00:00
Arvid Norberg e5f980d80d merged uTP branch into trunk (yay) 2010-11-29 01:33:05 +00:00
Arvid Norberg a05acc4bac support trackerid tracker extension 2010-11-18 05:51:52 +00:00
Arvid Norberg e4de1fc8b1 graceful disconnect mode which finishes transactions before disconnecting peers 2010-10-30 08:36:18 +00:00
Arvid Norberg 0dbef9103a some reordering and asserts around web seed name resolution 2010-10-30 07:11:04 +00:00
Arvid Norberg f84cc340df fixed a bunch of sloppy typos 2010-10-29 02:42:41 +00:00
Arvid Norberg 0d196d3c84 document the problem of the disk cache potentially modifying files after saving resume data. In trunk, add a flag to flush the cache in the same call as saving resume data 2010-10-29 02:21:43 +00:00
Arvid Norberg 3948ca3179 fixed bugs in http seed connection and added unit test for it 2010-10-17 16:15:32 +00:00
Arvid Norberg 559c4bdf65 fixed some msvc warnings 2010-10-16 15:24:45 +00:00
Arvid Norberg 72322dbc10 allow extending web seeds with extra headers and custom authorization schemese 2010-10-10 18:43:58 +00:00
Arvid Norberg 440abdfaf2 optimistic unchoke fix 2010-10-04 04:06:14 +00:00
Arvid Norberg 8e4addf2c5 improved set_max_connections to immediately disconnect peers to match the new limit 2010-10-03 10:07:38 +00:00
Arvid Norberg a7c87e14dd added functions to query an individual peer's upload and download limit 2010-10-01 16:09:22 +00:00
Arvid Norberg 3fb9fcab9e full support for bep-21 (event=paused) 2010-09-06 04:02:15 +00:00
Arvid Norberg b6f92aa981 added initial support for share-mode 2010-09-05 16:01:36 +00:00
Arvid Norberg fb8ebc53dd save resume data every 15 minutes no matter what 2010-08-25 06:38:04 +00:00
Arvid Norberg a85f1f5c61 improved logging 2010-08-18 17:14:40 +00:00
Arvid Norberg 6ab555659c anonymous mode fix (don't resolve countries, since that gives away IPs) 2010-08-02 06:16:32 +00:00
Arvid Norberg 1e70456f58 improved support for multi-homed clients 2010-07-17 07:13:14 +00:00
Arvid Norberg 4e576f93fd removed the session mutex for improved performance 2010-07-14 04:16:38 +00:00
Arvid Norberg 3310198dae added upload and download activity timer stats for torrents 2010-07-08 19:29:38 +00:00
Arvid Norberg 68e9bf618f removed incorrect assert 2010-05-16 22:15:55 +00:00
Arvid Norberg feaf4aa082 another attempt to fix tracker timer bug. Fixes issue where the tracker timer would be triggered repeatedly. Fixes bug where trackers loaded from resume data would get a fail limit of 3 (now they don't have a limit) 2010-05-03 08:24:30 +00:00
Arvid Norberg 9a5f5562cb improve web seed connection handling 2010-04-14 06:22:00 +00:00
Arvid Norberg b5efe1c92a added feature to ask a torrent if it needs to save its resume data or not 2010-04-12 00:36:31 +00:00
Arvid Norberg 4c4c7f832a fix for torrent announcing bug introduced when supporting fine grained control over sources torrents are announced to 2010-03-31 02:40:00 +00:00
Arvid Norberg 7e851818b1 support more fine-grained torrent states between which peer sources it announces too 2010-03-29 00:34:04 +00:00
Arvid Norberg 5224e0c340 complete_ago extension 2010-03-19 18:39:51 +00:00
Arvid Norberg a3bff512e1 added 'added' and 'completed' time to torrent_status 2010-03-09 03:21:35 +00:00
Arvid Norberg e3a9578e2d fixed some shadow warnings 2010-03-06 07:16:39 +00:00
Arvid Norberg d4854024db added flags to torrent::status() that can filter which values are calculated 2010-03-04 19:15:23 +00:00
Arvid Norberg 9d6cdb0c89 solaris build fixes 2010-03-03 07:42:51 +00:00
Arvid Norberg aa5fc72fbf made tracker errors use error_code 2010-02-23 21:53:45 +00:00
Arvid Norberg eff49e42a7 added support for torrents with odd piece sizes 2010-02-23 16:26:24 +00:00
Arvid Norberg 59deff7a44 fixed issue with disk read cache not being cleared when removing torrents 2010-02-21 08:52:26 +00:00
Arvid Norberg c050b22d8f optimized memory usage for torrent objects 2010-02-14 01:39:55 +00:00
Arvid Norberg b12b3ff105 simplified web seed logic 2010-02-12 06:10:20 +00:00
Arvid Norberg 7e343a9d6f add size logging to various classes 2010-02-08 04:51:34 +00:00
Arvid Norberg 088f4bf700 improved LSD performance and made the interval configurable 2010-02-05 08:23:17 +00:00
Arvid Norberg c9b594fde1 support sending suggest messages based on what's in the read cache. support 'explicit read cache' 2010-01-15 16:45:42 +00:00
Arvid Norberg 85951208e4 added support for explicitly flushing the disk cache 2010-01-09 21:17:52 +00:00
Arvid Norberg 0350e86867 fixed web seed unit test 2009-12-29 17:49:24 +00:00
Arvid Norberg 0fc90b5655 fixed support for min-interval on tracker failures 2009-12-21 09:47:32 +00:00
Arvid Norberg cebcbc3eeb fixed force reannounce bug with min_interval support 2009-12-13 16:36:45 +00:00
Arvid Norberg d84c59d13b upload only fix 2009-12-05 16:46:10 +00:00
Arvid Norberg a6ed83e7fe add load_state/save_state to python bindings and made them build 2009-12-05 07:24:22 +00:00
Arvid Norberg 1e654220fa added support for min_interval 2009-12-02 04:05:24 +00:00
Arvid Norberg 2280454a99 support upload-only extension message 2009-11-24 18:49:59 +00:00