Commit Graph

200 Commits

Author SHA1 Message Date
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
Arvid Norberg b535b08033 minor jamfile fix 2007-07-06 17:03:10 +00:00
unsh 1e8b11adb3 updated makefiles for automake 2007-07-06 09:02:27 +00:00
Arvid Norberg 6f03731c1e msvc fix 2007-07-06 02:38:21 +00:00
Arvid Norberg f90a80ab05 made piece picker less anal about speed categories, to improve performance 2007-07-05 22:49:28 +00:00
Arvid Norberg 0e1e1484ee made test_piece_picker build on gcc 3.3 2007-07-04 18:05:29 +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 e714e1aeba improved bandwidth limiter and added a unit test for it 2007-07-02 23:48:06 +00:00
Arvid Norberg 0d7a208865 added more output to transfer tests and changed the data to be more easily debuggable + some code cleanup 2007-06-20 18:41:53 +00:00
unsh 31fb287c39 added test_swarm to Makefile.am 2007-06-20 07:56:48 +00:00
Arvid Norberg fa1a37e649 updated Jamfile to support openssl on windows, added missing files to makefiles and made test_pe_crypto build when encryption is disabled 2007-06-13 01:48:24 +00:00
Arvid Norberg b75a69cd47 added alerts for synchronizing disk io when pausing and moving storage 2007-06-11 21:24:14 +00:00
Arvid Norberg 07c8d1242e windows unicode fixes when using boost-1.34 and fix for test_swarm when building without encryption support 2007-06-11 19:01:25 +00:00