Commit Graph

349 Commits

Author SHA1 Message Date
Arvid Norberg 291ef2a2c9 optimized torrent_handle to use a weak_ptr directly to the torrent object 2008-04-09 20:09:36 +00:00
Arvid Norberg 35fd9aec61 msvc build fixes and warning fixes 2008-04-05 21:18:27 +00:00
Arvid Norberg 1fba3afdae fixed incorrect forwarding in torrent_handle 2008-03-22 00:26:58 +00:00
Arvid Norberg f53cfa7eeb removed checker thread 2008-03-08 06:06:31 +00:00
Arvid Norberg 5c14ec2eb1 made fastresume data not contain failed peers 2008-02-18 03:04:06 +00:00
Arvid Norberg 8cf0510144 added disk cache for write operations 2008-02-08 10:22:05 +00:00
Arvid Norberg c798ab30e1 rewrote the piece picker to be more cpu and memory efficient. replaces the concept of sequential-download-threshold with just a sequential download settings 2008-01-31 17:52:29 +00:00
Arvid Norberg 442998f06d applied patch from and fixed #252, write_resume_data no longer throws when it shouldn't 2008-01-26 07:41:51 +00:00
Arvid Norberg 7faa922dc5 fixed #255. write_resume_data does no longer throw if there are IPv6 addresses without having IPv6 installed on windows 2008-01-26 07:31:33 +00:00
Arvid Norberg c92fef5b69 simplified torrent_handle by using a macro and moving the big chunks of code into torrent (get_download_queue() and get_peer_info()) 2007-11-25 18:48:43 +00:00
Arvid Norberg fabfe6cd50 added scrape support 2007-11-20 22:46:27 +00:00
Arvid Norberg 80e8aa0a18 add_extension on torrent_handle, to add an extension on an already running torrent 2007-11-08 01:45:35 +00:00
Arvid Norberg 1a280e31fa cleanup. changed the connection map into a set of peer_connections. moved the policy object into the torrent (as opposed to being a pointer). Fixes issues with multiple peers on the same IP. Reduces some lookups. 2007-10-31 09:48:20 +00:00
Arvid Norberg 0681d3fd61 fixed another fast resume bug 2007-10-09 07:26:57 +00:00
Arvid Norberg ffe2e75882 added another alert to cover all cases where the torrent has to be checked at start, and tell the user why. Fixed a problem with the resume data generation introduced in last storage check-in 2007-10-09 00:25:01 +00:00
Arvid Norberg 4d19f7ff0f storage optimization. introduced a nother allocation mode: sparse. Now there is allocate, compact and sparse. Unless compact is used, the memory structures used to keep track of pieces are no longer allocated. sparse storage mode is now the default 2007-10-08 20:01:36 +00:00
Arvid Norberg 966800cd5b replaced the assert macro to TORRENT_ASSERT instead of hi-jacking assert. 2007-10-05 00:30:00 +00:00
Arvid Norberg 4cab49cbdf saves banned peers in resume data 2007-10-03 17:37:15 +00:00
Arvid Norberg 3dcae188fb policy now has a map of peers instead of a flat list, makes it more efficient to do lookups 2007-10-02 19:11:04 +00:00
Arvid Norberg e5098bcdcc returns proper torrent state for checking torrents 2007-10-01 06:00:17 +00:00
Arvid Norberg af95c01f24 torrent_handle fixes 2007-09-19 18:34:01 +00:00
Arvid Norberg b56faf60d1 fixed mutex locking order issue 2007-08-27 01:05:11 +00:00
Arvid Norberg 95129602d9 refactored internal forwarding mechanism for torrent_handle 2007-08-27 00:47:17 +00:00
Arvid Norberg c70223ff38 added url seed related functions to torrent_handle 2007-08-17 16:40:55 +00:00
Arvid Norberg b05500570c added parenthesis around std::min and std::max for msvc compatibility 2007-08-16 22:14:17 +00:00
Arvid Norberg 1973af7779 added alert messages for blocks finishing, pieces finishing and blocks being requested. patch by micah 2007-08-01 06:14:16 +00:00
Arvid Norberg 4771f323f6 added invariant checks for peer_counter in block_info. added bytes_progress and block_size to block_info (to allow a more detail download progress display). Updated client_test to show download progress per block and also to have a separate color for 'multi blocks' (i.e. blocks that have been requested from more than one peer) 2007-07-08 20:45:42 +00:00
Arvid Norberg a3e66a3efe made the piece picker handle multi-request blocks better. fixes problem that might occur at the end of a torrent where the piece picker could take over blocks back and forth 2007-07-06 17:15:35 +00:00
Arvid Norberg b20270d243 added more asserts related to recent downloading_piece optimization and fixed a translation problem to the public interface 2007-07-04 15:46:10 +00:00
Arvid Norberg 3bdf01778a chamged peer representation from tcp::endpoint to policy::peer pointer in piece_picker's downloading piece. Saves memory, removes the need for lookup and improves the hash check fail/pass handling for closed connections 2007-07-04 02:16:49 +00:00
Arvid Norberg 3b8670626a merged back async_io branch into trunk 2007-06-10 20:46:09 +00:00
Arvid Norberg 4f339272dc minor cleanup 2007-06-03 05:57:05 +00:00
Arvid Norberg 43a28e7a49 fixed bug in write resume data 2007-05-31 02:22:04 +00:00
Arvid Norberg 14a15831ef exposed piece availability vector 2007-05-30 06:52:59 +00:00
Arvid Norberg 510966f2a5 fixed fast resume data bug when using full allocation mode, and moved parts of resume data generation to the storage 2007-05-24 18:53:55 +00:00
Arvid Norberg 6dcca9250b optimized heap allocations in piece_picker. #42 2007-05-09 00:49:13 +00:00
Arvid Norberg 4956639171 piece picker optimization 2007-05-08 11:13:13 +00:00
Arvid Norberg 54805ca60b added option to disable country resolving 2007-05-02 19:47:38 +00:00
Arvid Norberg ee1681e2cb added peer/piece categories to the piece picker. fixes #18 2007-04-27 00:27:37 +00:00
Arvid Norberg 16e17f066c first stab at sparse files support 2007-04-17 21:54:40 +00:00
Arvid Norberg 3ed24da320 added source to peer_info, which is a bitmask of the sources where the peer has been acquired from 2007-04-10 21:23:13 +00:00
Arvid Norberg 4ceb6a02ea added download_limit and upload_limit functions to torrent_handle 2007-04-10 09:25:17 +00:00
Arvid Norberg d88ffcc0e4 removed some more unecessary boost.date_time dependencies 2007-04-10 07:52:58 +00:00
Arvid Norberg baecc64131 fix to previous timer check-in that broke the api 2007-04-07 03:05:59 +00:00
Arvid Norberg 306d015924 added a timer abstraction and replaced the use of boost.date_time. the timers used now are QueryPerformanceCounter on windows, mach_absolute_time on darwin and currently falls back on boost.date_time on other platforms. This has the advantage of being a monotonic clock, and also slightly more efficient 2007-04-04 22:27:36 +00:00
Arvid Norberg 776b399a97 added api for piece priorities 2007-03-20 01:59:00 +00:00
Arvid Norberg 8957b64c04 prepared for precompiled headers support. fixed issue where storage didn't lock the session properly. fixed typo in natpmp.cpp 2007-03-17 17:15:16 +00:00
Arvid Norberg f14c84b01e fixes in DHT to make it work when the number of transaction slots are full (very rare case). Added a feature to (optionally) resolve the countries of peers and updated the docs (see peer_info::country). 2007-01-29 07:39:33 +00:00
Arvid Norberg 69ef67d71e made a common base class for torrent alerts. Made the bandwidth quota block size variable depending on the limit 2007-01-16 05:05:52 +00:00
Arvid Norberg ef9c2aba66 fixed bugs introduced in the http tracker refactoring and the fastresume data writer when the piece picker was deallocated, reported by Massaroddel 2006-12-12 12:56:18 +00:00
Arvid Norberg 90feac8126 deallocates the piece picker when seeding, to free up unused memory 2006-12-04 12:20:34 +00:00
Arvid Norberg 247b8ae443 removed temporary assert and factored file_pool out of storage to prepare for a per session file pool 2006-11-14 13:36:10 +00:00
Arvid Norberg e35fc5c4be refactored extensions and added a plugin interface. fixed file.cpp for windows 2006-11-14 00:08:16 +00:00
Arvid Norberg f0519e86e8 separated session from session_impl and made a real pimpl-class of it. Introduced the possibility to destruct the sessions async. 2006-10-11 14:02:21 +00:00
Arvid Norberg 191fd76b42 made sequenced_download_threshold a per torrent setting. Updated the project page layout. Removed incorrect invariant checks in piece picker. 2006-09-04 17:17:45 +00:00
Arvid Norberg 8fafa58c1f added per file progress, added patch suggested by Tianhao Qui regarding unchoking when a peer becomes uninterested. Updated documentation and removed block quotes around bullet lists. 2006-06-11 23:24:36 +00:00
Arvid Norberg 94628fa78d fixed race condition in peer_connection, fixed assert in torrent destructor, updated tests 2006-05-28 19:03:54 +00:00
Arvid Norberg d1c33c0d2b windows fixes 2006-04-27 00:39:21 +00:00
Arvid Norberg 41810b1166 merged back the asio development branch 2006-04-25 21:04:48 +00:00
Arvid Norberg bcbe165aee added the ability to limit the number of half-open tcp connections 2005-11-02 16:28:39 +00:00
Arvid Norberg 55144fc3f4 all functions on torrent_handle are now const. restored r, p, u keys in client_test 2005-10-19 13:58:41 +00:00
Arvid Norberg d3996ccfb9 added metadata_failed_alert and allcoating torrent state 2005-10-17 13:45:53 +00:00
Arvid Norberg f63702c964 optimized session::add_torrent() by putting more info in torrent_info, to make it possible to reproduce the exact info section from an torrent_info object. The result is that the .torrent file is only parsed once. 2005-10-16 16:58:41 +00:00
Arvid Norberg 189a8756ee big change in the way storage is checked. The checker thread can now check the fastresume data of a new torrent without waiting for a currently checking one 2005-10-13 07:59:05 +00:00
Arvid Norberg 1934171431 bugfixes, fixes for boost 1.33, made the piece picker pick whole pieces from fast peers 2005-08-14 22:04:58 +00:00
spyhole d95b37fb33 no message 2005-08-01 14:24:19 +00:00
spyhole 8d9dd06139 no message 2005-08-01 13:45:27 +00:00
spyhole 3a4a63c566 no message 2005-08-01 13:34:51 +00:00
spyhole b4a2cc645f add file file filter functions to test 2005-07-03 23:33:47 +00:00
spyhole 6410cac43c torrent.cpp 2005-07-02 08:47:46 +00:00
Arvid Norberg 0d6a4de5aa *** empty log message *** 2005-06-22 23:04:37 +00:00
Arvid Norberg 2d4c01ec65 *** empty log message *** 2005-06-06 10:33:44 +00:00
Arvid Norberg 3ba7f05bb9 *** empty log message *** 2005-05-30 22:50:54 +00:00
Arvid Norberg fbffae1981 *** empty log message *** 2005-05-30 17:43:03 +00:00
Arvid Norberg 2fabb2bf80 experimental support for filtering pieces (filter from downloading that is) 2005-05-25 10:01:01 +00:00
Arvid Norberg d38e66a223 *** empty log message *** 2005-05-03 13:13:57 +00:00
Arvid Norberg d9e93a3e99 *** empty log message *** 2005-03-22 17:50:05 +00:00
Arvid Norberg 999754ee23 *** empty log message *** 2005-03-04 23:45:16 +00:00
Arvid Norberg 953d4fb600 *** empty log message *** 2005-02-23 20:38:29 +00:00
Arvid Norberg 5c5aabe7b1 *** empty log message *** 2005-02-23 08:57:54 +00:00
Arvid Norberg 782a3cfdc6 added the ability to get scrape data from the tracker announce reply 2005-02-21 13:59:24 +00:00
Arvid Norberg b29e378f22 *** empty log message *** 2004-11-18 22:33:50 +00:00
Arvid Norberg a34130b446 *** empty log message *** 2004-10-29 13:21:09 +00:00
Arvid Norberg e9ef2b56a5 *** empty log message *** 2004-10-17 22:23:08 +00:00
Arvid Norberg 579d63f49d *** empty log message *** 2004-09-16 01:14:16 +00:00
Arvid Norberg 492565b979 *** empty log message *** 2004-09-12 10:12:16 +00:00
Arvid Norberg b2150236b0 *** empty log message *** 2004-09-10 00:47:30 +00:00
Arvid Norberg 29cb9e8969 *** empty log message *** 2004-09-07 23:16:11 +00:00
Arvid Norberg 1148a5574c *** empty log message *** 2004-07-18 00:39:58 +00:00
Arvid Norberg e23bf90089 added torrent_handle::set_download_limit() and fixed typo, thanks to spyhole for reporting 2004-07-01 18:51:13 +00:00
Arvid Norberg f70bd8ac97 added a metadata extension. i.e. torrent-less downloads 2004-06-13 23:30:42 +00:00
Arvid Norberg 6b5b48adbc *** empty log message *** 2004-04-17 12:29:35 +00:00
Arvid Norberg 62bfb69863 *** empty log message *** 2004-03-29 23:25:13 +00:00
Arvid Norberg fac783b4d8 *** empty log message *** 2004-03-28 17:45:37 +00:00
Arvid Norberg a9b3c6dd41 *** empty log message *** 2004-03-27 22:02:31 +00:00
Arvid Norberg 870b4aeaab *** empty log message *** 2004-03-23 22:58:18 +00:00
Arvid Norberg bb52b74a9e *** empty log message *** 2004-03-21 02:03:37 +00:00
Arvid Norberg 06ad07cea7 *** empty log message *** 2004-03-17 12:14:44 +00:00
Magnus Jonsson d6dc5b52e4 *** empty log message *** 2004-03-11 14:56:48 +00:00
Magnus Jonsson 1d9b74ffee *** empty log message *** 2004-03-07 20:50:56 +00:00
Arvid Norberg 3dac95965e *** empty log message *** 2004-03-05 12:04:47 +00:00
Arvid Norberg 567fd8112f *** empty log message *** 2004-02-29 16:39:52 +00:00
Arvid Norberg d11d3fc164 *** empty log message *** 2004-02-29 12:26:05 +00:00
Arvid Norberg 2d363127e9 *** empty log message *** 2004-02-26 00:27:06 +00:00
Magnus Jonsson 7af8beff02 *** empty log message *** 2004-02-25 13:18:41 +00:00
Arvid Norberg 6d614bc6d3 *** empty log message *** 2004-02-24 23:55:42 +00:00
Magnus Jonsson 13b2590c0b *** empty log message *** 2004-02-24 19:23:37 +00:00
Arvid Norberg f788d65ee5 *** empty log message *** 2004-02-24 16:22:43 +00:00
Magnus Jonsson 4cb125a694 *** empty log message *** 2004-02-23 22:54:54 +00:00
Arvid Norberg 9a2fc89eae Made the Jamfile to work with boost-build.
updated documentation to reflect the new (working) Jamfile.
2004-02-22 22:40:45 +00:00
Arvid Norberg 80b57290c9 *** empty log message *** 2004-01-31 10:46:15 +00:00
Arvid Norberg 0dbbc18186 removed most warnings on msvc.
reimplemented piece_manager::check_pieces to take care of all possible cases of the storage state.
2004-01-25 18:18:36 +00:00
Arvid Norberg 718f01155f *** empty log message *** 2004-01-25 12:37:15 +00:00
Magnus Jonsson 0634e778e9 *** empty log message *** 2004-01-25 04:18:08 +00:00
Arvid Norberg 19a4dad706 *** empty log message *** 2004-01-24 17:14:03 +00:00
Arvid Norberg a3b47ec826 added documentation of udp-tracker protocol and finalized support for it. 2004-01-22 22:45:52 +00:00
Magnus Jonsson 9c14019f34 *** empty log message *** 2004-01-21 00:59:38 +00:00
Arvid Norberg e257516670 took a shot at making it compile on vc6. 2004-01-18 01:58:33 +00:00
Arvid Norberg 4d33080399 *** empty log message *** 2004-01-17 20:04:19 +00:00
Arvid Norberg 410b35f95e *** empty log message *** 2004-01-15 16:45:34 +00:00
Magnus Jonsson 5068562916 *** empty log message *** 2004-01-14 11:46:26 +00:00
Arvid Norberg abbedbf104 *** empty log message *** 2004-01-13 03:08:59 +00:00
Arvid Norberg b6c826c6af *** empty log message *** 2004-01-12 20:31:27 +00:00
Arvid Norberg 9e979efb8b *** empty log message *** 2004-01-12 03:05:10 +00:00
Arvid Norberg b9bbf242c6 *** empty log message *** 2004-01-09 10:50:22 +00:00
Arvid Norberg 8137e5002d *** empty log message *** 2004-01-08 17:03:04 +00:00
Arvid Norberg 91c9156de1 *** empty log message *** 2004-01-07 00:48:02 +00:00
Arvid Norberg e2baa0a646 *** empty log message *** 2004-01-04 23:51:54 +00:00
Arvid Norberg 8a3d994416 *** empty log message *** 2004-01-04 04:29:13 +00:00
Arvid Norberg 97b387b196 *** empty log message *** 2004-01-03 03:22:53 +00:00
Arvid Norberg 3033f16f47 *** empty log message *** 2004-01-03 02:10:11 +00:00
Arvid Norberg 95026395f3 *** empty log message *** 2004-01-02 20:46:24 +00:00
Arvid Norberg c432c9ad68 *** empty log message *** 2003-12-22 07:14:35 +00:00
Arvid Norberg 5158ca8558 Updated zlib version.
Changed fignerprint interface to force azureus-style fingerprints.
Tested the load balancing, it seems to work.
2003-12-16 13:33:29 +00:00
Arvid Norberg 24e4c197c9 *** empty log message *** 2003-12-14 05:56:12 +00:00
Arvid Norberg 557b3f3955 *** empty log message *** 2003-12-09 18:09:34 +00:00
Arvid Norberg d99762f0b0 *** empty log message *** 2003-12-08 16:39:05 +00:00
Arvid Norberg 5f9ae41e86 *** empty log message *** 2003-12-07 05:53:04 +00:00
Arvid Norberg 6402fd4a14 *** empty log message *** 2003-12-01 21:27:27 +00:00
Arvid Norberg f21d6a0f7f there are still some serious issues with storage when having large torrents (about 700 meg and up at least) 2003-12-01 05:01:40 +00:00
Arvid Norberg 94919f9806 *** empty log message *** 2003-11-28 17:29:27 +00:00
Arvid Norberg 086dbd40fe added support for comments and creation date in torrent files.
fixed bug in url_handler.
2003-11-20 19:58:29 +00:00
Arvid Norberg 420ab6bff2 *** empty log message *** 2003-11-09 18:17:09 +00:00
Arvid Norberg 01d9d10157 *** empty log message *** 2003-11-08 02:16:26 +00:00
Arvid Norberg 81289c9354 *** empty log message *** 2003-11-06 10:44:19 +00:00
Arvid Norberg 6325295993 *** empty log message *** 2003-11-04 23:27:06 +00:00
Arvid Norberg 8b61436561 Increased performance. Fixed a bug. Extended torrent_handle interface. 2003-11-02 21:06:50 +00:00
Arvid Norberg 6466b46573 *** empty log message *** 2003-10-31 04:02:51 +00:00
Arvid Norberg d7f92afea3 *** empty log message *** 2003-10-29 23:28:09 +00:00