Commit Graph

244 Commits

Author SHA1 Message Date
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
Arvid Norberg 3b8670626a merged back async_io branch into trunk 2007-06-10 20:46:09 +00:00
Arvid Norberg 2419ba83da fixed swarm test 2007-06-09 00:48:12 +00:00
Arvid Norberg daba3196c3 fixed url parsing bug related to IPv6 addresses. fixes #66 2007-06-09 00:11:11 +00:00
Arvid Norberg 6447a074eb fixes to allow-multiple-connections-per-ip and a unit test that run a swarm of 3 local peers 2007-06-08 23:02:31 +00:00
Arvid Norberg 273f8bd921 merged back encryption branch to trunk 2007-06-06 00:41:20 +00:00
Arvid Norberg d0412a2244 added port filter for outgoing connections 2007-06-01 01:05:57 +00:00
Arvid Norberg aea4e503c5 more storage state machine fixes, added test to storage unit test and fix in file::set_size 2007-05-31 23:35:48 +00:00
Arvid Norberg cbd67ed729 added support for authentication in the url_parser and added a test for it 2007-05-22 20:44:18 +00:00
Arvid Norberg 36898ecc12 added more logging to upnp. fixed upnp test 2007-05-14 08:56:46 +00:00
Arvid Norberg 6e7c0ebfc9 made test_piece_picker work with recent piece picker optimization 2007-05-09 22:37:47 +00:00
Arvid Norberg d320928e8f more upnp logging and made the upnp test build again 2007-05-05 20:00:28 +00:00
Arvid Norberg a985a17e6f made the upnp test log by default 2007-05-04 07:45:55 +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 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 b1bc1a9de0 made test_web_seed build and fixed test_metadata_extension 2007-04-02 06:21:53 +00:00
Arvid Norberg 7a30b397f8 made test_storage build and fixed bug introduced when storage was turned into a customization point 2007-04-02 05:46:19 +00:00
Arvid Norberg bf5dc7fce4 added UPnP test application 2007-04-02 05:14:20 +00:00
Arvid Norberg bec03261f5 fixed piece picker and test 2007-03-27 08:53:48 +00:00
Arvid Norberg 962b2ab015 merged back fix from 0.12rc branch 2007-03-18 02:19:23 +00:00
Arvid Norberg bb0b8c9d95 improved unit test for storage, modified move_storage to hopefully fix a bug. updated Changelog. 2007-02-25 21:11:29 +00:00
Arvid Norberg df46401c9c added docs for python binding. Fixed warning in python binding. 2007-02-20 04:32:13 +00:00
Arvid Norberg 3fc73cb219 added a web seed test (requires manual environment setup for web server). fixed bug in torrent_info where file offsets could be left uninitialized. Fixed bug in torrent which would cause a crash in case a torrent without any trackers would be aborted. 2007-02-20 01:42:12 +00:00
Arvid Norberg dd7aeba978 added some more checks 2006-11-19 15:25:02 +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 e50a7c10d2 updated Makefiles 2006-10-04 10:53:43 +00:00
Arvid Norberg 6856989cb8 added a test for allocate resources 2006-10-04 02:27:32 +00:00
Arvid Norberg fe0d570f05 completed IPv6 support in ip_filter and updated test_ip_filter and documentation. Documented recently added extensions to DHT. 2006-09-23 21:24:28 +00:00
Arvid Norberg f92b6cd90c fixed test_ip_filter and test_piece_picker to reflect recent api changes. Fixed an Obj.C naming issue. Removed files from include/Makefile.am that was removed from asio. 2006-09-11 23:34:07 +00:00
Arvid Norberg 0d0f07189d updated storage test 2006-08-30 00:07:51 +00:00
Arvid Norberg 0f28b3ac5b removed -L./ from makefiles and made the tests not to be installed 2006-08-28 20:44:06 +00:00
Arvid Norberg 87eb377b17 fixed incorrect asserts in storage (that were triggered by torrent with zero-size files). Fixed bug in resource distribution algorithm. Made an attempt to avoid an assert in msvc standard library caused by passing a non-printable character to isdigit(). 2006-08-10 19:18:11 +00:00
Arvid Norberg 991220f51a fixed the installation directory for the headers. The storage test now releases its files to make it work on windows. 2006-06-25 14:37:30 +00:00
Arvid Norberg 3e39b90158 updated makefiles to hopefully install the headers in the correct place. Updated docs to use boost 1.33.1 in examples. Changed libtorrent version to 0.10 and updated ChangeLog to prepare for release. 2006-06-25 00:12:18 +00:00
Arvid Norberg d3ba5edd6d fixed a long standing (quite rare) bug, thanks to Massaroddel. Made the tests clean up their temporary files. 2006-06-24 22:30:59 +00:00
Arvid Norberg 903e11e458 moved the asio headers into the include directory, to have them installed when libtorrent is installed. improved the complexity of torrent_info::map_file(), It's now O(1). 2006-06-17 22:04:25 +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 58698d6aea fixed the tests to build with the latest version of asio. added a missing include to identify_client.hpp 2006-05-21 15:35:11 +00:00
Arvid Norberg d63ceac56c fixed a bug in client_test. fixed some problems related to the previous buffer bug fix. all tests pass now. 2006-04-30 10:28:45 +00:00
Arvid Norberg 41810b1166 merged back the asio development branch 2006-04-25 21:04:48 +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
Michael Wojciechowski a0b4f3b3b6 Updated bin_PROGRAMS 2005-09-29 16:30:50 +00:00
Arvid Norberg 6d66566298 fixed problem with file pool when files were opened with 0 as info hash and attempted to close with the correct one. the info hash is no longer used as the key in the file pool. Also updated Makefile.am to include the buffer.hpp and .cpp and to include the storage unit test 2005-09-28 21:46:35 +00:00
Arvid Norberg 7f890239c4 Added new send buffer class to avoid unecessary copying of outgoing data. 2005-09-14 19:33:16 +00:00
Arvid Norberg f824714b0e added a test for storage and fixed a bug in piece checking 2005-09-11 09:48:05 +00:00
Arvid Norberg a15f589341 fixed problem in piece_picker with filtered files, also optimzed it somewhat. Added more logging and added one test to the piece_picker test 2005-09-01 21:04:21 +00:00
peerkoel 77956fb5a6 Adding files to setup autotools.
Minor spelling fix in manual.html.
2005-08-17 00:24:41 +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
Arvid Norberg f7c90b8511 *** empty log message *** 2005-08-12 12:40:58 +00:00
Arvid Norberg 8a90767be8 added some tests 2005-08-11 11:06:52 +00:00