Commit Graph

312 Commits

Author SHA1 Message Date
Arvid Norberg 41808f8742 big change to improve piece picker. Better end-game mode. More options on which pieces to pick. 2008-09-06 21:04:57 +00:00
roman_rybalko f9f7b689a3 automake build system fix: make dist always creates same dist regardless of configure parameters, test/Makefile.am made more clear 2008-09-02 11:14:10 +00:00
Arvid Norberg 5486e17b15 fixed bug in bitfield and updated test 2008-08-29 12:19:21 +00:00
Arvid Norberg e9045cc1df fixes bug where priorities where lost when force-rechecking. 2008-08-25 22:32:50 +00:00
Arvid Norberg 66ac9fe718 fixed http_connection test 2008-08-25 22:26:29 +00:00
Arvid Norberg de907e17ff enables alerts earlier in test_swarm 2008-08-25 21:23:21 +00:00
Arvid Norberg add12da945 added test that exposes bug where priorities are cleared when a torrent is force-rechecked 2008-08-24 08:30:00 +00:00
Arvid Norberg b72badd1b1 added test for checking files when some files are missing 2008-08-20 08:07:31 +00:00
Arvid Norberg 37389e4fe4 added test to measure peak download rate and introduced performance warning alert when disk buffer limit and request limit are reached 2008-08-19 15:04:14 +00:00
Arvid Norberg 893e9f2af6 fix bug in piece picker where set_piece_priority would return false even though the piece filter changed and updated test_transfer to catch it 2008-08-19 07:11:17 +00:00
Arvid Norberg 9266afe5f5 fixed bug where a torrent would not get into the 'finished' state right after file checking. It would either go to downloading or seeding. Also added test_transfer 2008-08-18 20:02:50 +00:00
Arvid Norberg e8d691eed9 extended the test_torrent to torrents with 0 bytes 2008-08-17 11:42:57 +00:00
Arvid Norberg aed9a00e44 tests are run with full invariant checks 2008-07-30 06:40:06 +00:00
Arvid Norberg 186561e5ff fixed test_swarm 2008-07-20 21:32:20 +00:00
Arvid Norberg 81a88a774f test_swarm fixes 2008-07-20 17:39:28 +00:00
Arvid Norberg f754a18ecf improved test_storage to report error conditions better 2008-07-17 15:08:29 +00:00
Arvid Norberg a7ed5578b6 made the tests build again 2008-07-08 00:00:49 +00:00
Arvid Norberg af0ebb519c added copyright notices in files missing them 2008-07-01 18:59:13 +00:00
Arvid Norberg 9c84908bb9 switched resume data parsing over to use lazy_bdecode. Improves memory allocation performance, especially noticable when heap allocations are expensive. Makes it more practical to run with malloc debug. Changed resume data interface to take a vector as opposed to a parsed structure 2008-06-30 23:14:31 +00:00
Arvid Norberg 4271bb91d0 updated pe_crypto test to build 2008-06-29 18:55:23 +00:00
roman_rybalko 914dcac3d2 trunk:
moved to asio-1-0-0 from asio-head (get_asio & makefile fix)
tests moved to "check" target
2008-06-28 10:38:12 +00:00
roman_rybalko f5e567f3c5 Ticket #357 fix 2008-06-28 10:11:20 +00:00
cg25 71c4f6f9b6 * improved --with-asio configure option behaviour;
* using -version-info flag instead of -revision one for the sake of correct
  interface versioning;
* renaming library to libtorrent-rasterbar.so to avoind conflicting with other
  libraries.
2008-06-23 00:09:12 +00:00
Arvid Norberg 9c94f54868 fixes for torrents with smaller pieces than 16kB 2008-06-18 12:34:39 +00:00
Arvid Norberg 3e000a3984 fixed save path updates when moving torrents. Fixes #310 2008-06-15 20:52:46 +00:00
roman_rybalko 5314b639e2 boost detection fixes: now able to launch with boost1.34 and boost1.35 2008-06-13 12:20:55 +00:00
Arvid Norberg a4dfd63ca3 fixed piece picker bug related to sequential download, added unit test to expose it 2008-06-11 08:30:06 +00:00
Arvid Norberg 9d1e77dc88 optimized away torrent::m_have_pieces (#62) and added some documentation on bitfield. The piece picker is now constructed with the torrent, but still freed when turned into a seed 2008-06-07 02:58:28 +00:00
Arvid Norberg b4c160e723 fixed bug in web_peer_connection where an incorrect number of bytes would be reported as downloaded 2008-06-03 15:17:09 +00:00
Arvid Norberg a0b7f080cd boost 1.35 fix in test_buffer 2008-05-28 16:00:03 +00:00
Arvid Norberg 3910fe78de separated file_storage from torrent_info and create_torrent 2008-05-28 08:44:40 +00:00
Arvid Norberg 68c31e48dc replaced vector<bool> with a custom bitfield type 2008-05-28 02:35:02 +00:00
Arvid Norberg 523c48e069 boost-1.34 fix 2008-05-27 16:55:14 +00:00
Arvid Norberg 4338140c85 added test and fixed total_wanted issue for files > 2 GB 2008-05-27 08:07:59 +00:00
Arvid Norberg 8b03e338d6 lazy_bdecode fix. #336 2008-05-24 04:36:59 +00:00
Arvid Norberg c5d61667b3 http_connection now supports connecting to all IPs a hostname resolves to, as fallbacks 2008-05-18 22:14:55 +00:00
Arvid Norberg b952d85734 fixed error handling and added support for relative http redirects (which aren't allowed by the standard) 2008-05-18 04:48:06 +00:00
Arvid Norberg 7f639e57de improved error handling with regards to parse_url_components. For trunk, moved that function to its own file 2008-05-17 14:19:34 +00:00
Arvid Norberg 5ec7da07e6 fixes #332 2008-05-17 00:27:26 +00:00
Arvid Norberg 8ed949c4d5 factored out torrent creation functionality from torrent_info into create_torrent. Modified torrent_info to use lazy_bdecoder for increased performance 2008-05-14 05:29:42 +00:00
Arvid Norberg 7bde9ef4a9 improved debug logging in regression tests 2008-05-12 07:01:25 +00:00
Arvid Norberg e51c8bea37 added makefile support for boost.system (#322) 2008-05-11 22:43:44 +00:00
Arvid Norberg c7e6c04705 switched over to asio from boost-1.35 2008-05-03 16:05:42 +00:00
Arvid Norberg 748a66c343 improvements to lazy_bdecode 2008-04-13 22:34:04 +00:00
Arvid Norberg a3e7124614 added out stream operator to lazy_entry 2008-04-13 05:19:10 +00:00
Arvid Norberg a70789872e added string length to high performance bdecoder 2008-04-12 01:58:55 +00:00
Arvid Norberg b300c7f835 added high performance bdecoder code 2008-04-11 03:41:09 +00:00
Arvid Norberg 2e6b9c2dce revamped part of the port mapping code (UPnP and NAT-PMP). Added documentation for start_{lsd,natpmp,upnp} and stop_{lsd,natpmp,upnp} 2008-04-06 19:17:58 +00:00
Arvid Norberg 35fd9aec61 msvc build fixes and warning fixes 2008-04-05 21:18:27 +00:00
Arvid Norberg 4328326ca1 dht test fix 2008-03-31 03:56:38 +00:00
Arvid Norberg cbec649327 dht test fix 2008-03-31 03:54:03 +00:00
Arvid Norberg 1782fa04cc test jamfile fix 2008-03-23 05:33:47 +00:00
Arvid Norberg 8b6be335d5 fixed http_connection test 2008-03-22 20:53:18 +00:00
Arvid Norberg c21a8a8fae windows fix for unit test 2008-03-21 09:00:54 +00:00
Arvid Norberg c8416cc79e fixed http_connection test (stopped working with new echo semantics in leopard) 2008-03-21 05:54:01 +00:00
Arvid Norberg def6248fac corrected unintentional change in previous checkin 2008-03-20 02:40:15 +00:00
Arvid Norberg 5e1e92af7e more verbose logging in test_fast_extension and avoids infinite loops in case of failures 2008-03-20 02:20:01 +00:00
Arvid Norberg 622f81aa18 test_swarm fix 2008-03-16 06:02:50 +00:00
Arvid Norberg f8b2b60634 fixed bug in dht routing table. added unit test to trunk 2008-03-16 03:52:13 +00:00
Arvid Norberg 5b4590c6b1 made test swarm more likely to pass 2008-03-16 02:54:56 +00:00
Arvid Norberg 2cfbfd203f made tests build and pass in trunk. fixed issues in trunk revealed by the tests. fixed failing torrent invariant check in trunk and rc0.13 2008-03-14 10:17:27 +00:00
Arvid Norberg 1a0f8d5cd5 updated makefile to build all tests 2008-03-04 08:04:09 +00:00
Arvid Norberg cf5c9344ab made peer connection order depend on ones external IP or be random (if we don't know our external IP). Should fix #281 2008-02-28 03:09:34 +00:00
Arvid Norberg a25c25b02a fixed windows build and removed msvc warnings 2008-02-25 10:28:53 +00:00
Arvid Norberg c1c2fb4409 resume data unit test and fix 2008-02-25 05:07:29 +00:00
Arvid Norberg 1e71e76085 reverted check-in mistake 2008-02-24 23:15:25 +00:00
Arvid Norberg 1d1398ed7f read cache fix 2008-02-24 23:14:10 +00:00
Arvid Norberg 7e83c3fc51 changed storage interface to not require exceptions 2008-02-14 03:48:20 +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 ee0e2ad51a made the bandwidth test build again 2008-01-31 07:27:29 +00:00
Arvid Norberg 6caca17883 refactored gzip code and added gzip support to http_connection 2008-01-30 18:32:13 +00:00
Arvid Norberg 61bbc6e58f initial https support for trackers and http_connection. Added support for proxies to http_connection 2008-01-27 22:39:50 +00:00
Arvid Norberg d5d769f67d fixed pex test 2008-01-27 20:45:00 +00:00
Arvid Norberg 127d3e6ad5 bandwidth limiter fixes. proper priority that cannot starve connections 2008-01-17 17:40:46 +00:00
Arvid Norberg 832c0c8b63 improved auto-unchoke mechanism 2008-01-15 08:37:48 +00:00
Arvid Norberg 81302c8fed fixed http_connection redirection support and added test (still requires lighttp) 2008-01-12 01:41:56 +00:00
Arvid Norberg 630ad7cc85 updates to test 2008-01-08 05:46:20 +00:00
Arvid Norberg e05f396a5d made UPnP ignore devices that don't respond from a router IP (optional but on by default) 2008-01-07 05:48:28 +00:00
Arvid Norberg 2ea40a51a9 added tests for big_number (peer_id/node_id/sha1_hash) 2008-01-07 04:39:18 +00:00
Arvid Norberg e6e051e7c5 improves logic to handle slightly broken .torrent files and added tests 2008-01-06 07:35:32 +00:00
Arvid Norberg 6c364731a9 updated tests 2008-01-05 06:55:17 +00:00
Arvid Norberg 14b49a08ee fixed test_upnp 2008-01-03 19:03:52 +00:00
Arvid Norberg fcd2408f11 fast extension fix, added some logging for fast extension messages, improved test to catch the problem 2008-01-02 03:18:29 +00:00
Arvid Norberg ddf16fb3bb separated bandwidth_manager into bandwidht_limit and bandwidth_queue_entry and fixed problems related to #225 2007-12-31 09:41:50 +00:00
Arvid Norberg ce506c63ca improved tests to be able to run in parallel and added pex test 2007-12-30 09:36:01 +00:00
Arvid Norberg 6c42830f97 made http_parser not use exceptions 2007-12-29 18:24:50 +00:00
Arvid Norberg e0d1951fac fixes #234. properly shuts down the disk io thread 2007-12-24 08:15:10 +00:00
Arvid Norberg 68a388da19 piece picker fix (#228) 2007-12-16 01:35:42 +00:00
Arvid Norberg 7f06272454 added unit test for kademlia distance functions 2007-12-15 19:18:08 +00:00
Michael Wojciechowski bce53063ab Changed configure script to not to modify LIBS, when checking for dependencies. Changed libtorrent.pc.in again, since the libraries used were
wrong, because $LIBS was used. Corrected Makefile.am in test, examples and src.
2007-12-14 20:53:56 +00:00
Arvid Norberg 7cccdcaa7b makefile fixes 2007-12-09 01:21:20 +00:00
Arvid Norberg 20621cae02 added magnet-uri functions and a base32 decode function 2007-12-03 06:03:16 +00:00
Arvid Norberg a7b5250058 move url_has_argument to escape_string and added unit tests 2007-12-02 19:10:45 +00:00
Arvid Norberg 9727634f09 added base32encode and moved it into escape_string.hpp 2007-12-02 18:34:37 +00:00
Arvid Norberg f3d45fcfc1 initial support for ut_metadata 2007-12-02 04:16:51 +00:00
Arvid Norberg 02ed01d2c4 added first try of a mapped storage 2007-11-30 00:35:09 +00:00
Arvid Norberg 0220e209fa fixed bug in test_upnp program 2007-11-28 03:09:58 +00:00
Arvid Norberg e03ffb1d6b added proxy test to test_web_seed 2007-11-28 00:16:14 +00:00
Arvid Norberg 8fc9f9e842 made test_http_connection use lighty as well (the test is more self contained) 2007-11-27 00:06:59 +00:00
Arvid Norberg 9d094245ba improved web_seed test (now requires lighty) and fixed a bug in web_peer_connection 2007-11-25 23:11:29 +00:00
Arvid Norberg ed8225f4e2 updated test_swarm 2007-11-25 19:01:04 +00:00
Arvid Norberg 769d8aefe2 first version of 'part file' support. Can currently only be set when starting torrent 2007-11-25 10:47:05 +00:00
Arvid Norberg c18ae83146 added wait_for_alert() to session. If there is at least one alert in the queue, it returns the front one in the queue, if the queue is empty, it waits until a new alert is posted and returns that one, or returns 0 if the time expires first. 2007-11-25 08:18:57 +00:00
Arvid Norberg a62ed2eed4 another test case for http_connection 2007-11-19 03:48:45 +00:00
Arvid Norberg a1a841a04d http_connection fixes and unit test (not self contained yet, just like test_web_seed) 2007-11-18 04:12:35 +00:00
Arvid Norberg bab4695028 added test for replace_trackers and removed incorrect assert 2007-11-15 10:11:39 +00:00
Arvid Norberg 31e5716b03 fixed #186 and added a better test 2007-10-21 00:19:37 +00:00
Arvid Norberg ac6cc4c75c made test_storage build with boost 1.33. Fixes #183 2007-10-13 18:29:02 +00:00
Arvid Norberg 59c7f5bfbb added option to delete files from disk as a torrent is removed 2007-10-13 03:33:33 +00:00
Arvid Norberg bd0a997854 fixed test_storage 2007-10-09 07:23:39 +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 e7a40f4a08 Jamfile fix 2007-10-08 03:44:00 +00:00
Arvid Norberg d6789c3315 test_buffer fix 2007-10-07 16:39:45 +00:00
Arvid Norberg d29fbdc453 added tests for fast extension features + fixes 2007-10-04 09:32:09 +00:00
Arvid Norberg 0b1a542aa9 added test for local service discovery 2007-10-01 02:09:12 +00:00
Arvid Norberg b48948e231 changed the double send buffers to a chained buffer using iovec send operations. buffers are recycled (saves memory and cpu) and memory copies are avoided (saves cpu). More statistics is added to track buffer usage 2007-09-29 16:14:03 +00:00
Arvid Norberg d48236a738 changed http_parser slightly. uses http_parser in lsd.cpp. added more tests to the http_parser 2007-09-25 03:14:05 +00:00
Arvid Norberg 01112ab517 added more address utility function tests 2007-09-24 18:58:25 +00:00
Arvid Norberg 020902ac4c fixes problem with torrents that have a name.utf-8 entry 2007-09-24 18:51:04 +00:00
Arvid Norberg 3b6aee6d86 switched out std::vector to use libtorrent::buffer as an optimization 2007-09-23 00:51:45 +00:00
Arvid Norberg 765a815844 more output in test_swarm 2007-09-21 19:10:38 +00:00
Arvid Norberg 053f499ec6 better upnp support 2007-09-20 23:25:40 +00:00
Arvid Norberg 57a76f9db6 fixed debug assert on linux 2007-09-10 06:12:41 +00:00
Arvid Norberg 0d02fe0539 upnp and lsd update. added a broadcast_socket and made the upnp connection use the locally bound ip to specify its address in the soap requests 2007-09-09 23:52:34 +00:00
Arvid Norberg 7cd29ca371 piece picker updates and more tests 2007-09-05 23:32:05 +00:00
Arvid Norberg 24b57d62c8 piece picker fixes and optimizations (requires more tests in unit tests) 2007-09-05 21:21:11 +00:00
Arvid Norberg 6d40519e66 added support for piece picker to pick multiple pieces (previously it could only pick one piece tops). Made the web_peer_connection always try to make 1 MB requests at a time. added tests to the piece_picker unit test 2007-09-03 21:16:24 +00:00
Arvid Norberg 8fce18ba8b piece picker improvements and additions to unit test 2007-09-03 07:10:09 +00:00
Arvid Norberg cd5275f8e6 test fix 2007-09-01 04:43:13 +00:00
Arvid Norberg c8088459a0 made torrent_info reference counted and held by a boost::intrusive_ptr 2007-09-01 03:00:31 +00:00
Arvid Norberg f2c99f4160 fixed piece_picker test 2007-08-28 03:22:15 +00:00
Arvid Norberg 79e0e06fa9 improved bandwidth_limiter test and fixed problem where limits could lead to starvation 2007-08-27 10:20:23 +00:00
Arvid Norberg 890bd646d3 added more piece_picker tests 2007-08-27 10:12:09 +00:00
Arvid Norberg b6ec8f64cd greatly improved piece picker unit test 2007-08-27 05:13:46 +00:00
Arvid Norberg 8b44a25bbb more asserts and tests for the bandwidth_limiter 2007-08-26 23:40:58 +00:00
Arvid Norberg 2b0197e810 initial fix to enable mapping files in torrents to other files on disk. see torrent_info::remap_files 2007-08-25 18:26:43 +00:00
Arvid Norberg a3d4b1bdd9 fixed build problems on windows 2007-08-21 07:33:06 +00:00
Arvid Norberg 6c50adabfc updated piece_picker fix and added another invariant check to policy 2007-08-21 01:17:42 +00:00
Arvid Norberg 844c5fa695 fixed makefile 2007-08-17 00:54:51 +00:00
Arvid Norberg 4ac1ac8a1f removed allocate_resources. switched to a global unchoker and connection distribution 2007-08-16 12:41:46 +00:00
Arvid Norberg 4d04588def made libtorrent build on msvc-8 sp1 2007-08-08 21:22:59 +00:00
Arvid Norberg 6b86e5faa3 fixed #109 2007-08-07 07:29:51 +00:00
Arvid Norberg cd05e4e67c added support for xml declarators, comments, quoted attribute values and parse error messages in xml parser 2007-08-07 03:27:08 +00:00
Arvid Norberg 9f08256dff added support for attributes in the xml parser 2007-08-07 01:32:38 +00:00
Arvid Norberg ce8acd0911 added compiler flag to disable inclusion of boost.serialization headers 2007-08-01 07:26:10 +00:00
Arvid Norberg 3050e35adf disabled lsd for private torrents 2007-07-23 00:38:31 +00:00
Arvid Norberg 82e1160214 introduced a non-rarest-first option to the piece picker that is used to pick the very first pieces in a torrent 2007-07-07 01:26:30 +00:00
Arvid Norberg c536ac1990 peer_connections stats fix. test_sleep fix. improved test_swarm and test Jamfile 2007-07-06 20:17:36 +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