Commit Graph

1194 Commits

Author SHA1 Message Date
Arvid Norberg 33add5bb91 added a shorter timeout while waiting for a hanshake response from peers 2007-09-17 02:29:33 +00:00
Arvid Norberg 1502080542 piece picker fix and extra asserts and diagostics output (in case of errors) 2007-09-17 00:37:45 +00:00
Arvid Norberg 9364a2d01d added priority to disk io jobs 2007-09-16 01:34:06 +00:00
Arvid Norberg 5b8ce7f6a0 changed to use ftruncate to allocate files 2007-09-16 00:48:21 +00:00
Arvid Norberg b1f10e5825 broadcast socket fix 2007-09-15 20:35:07 +00:00
Arvid Norberg 3a11c3bfad broadcast socket and piece_picker fix 2007-09-15 20:20:07 +00:00
Arvid Norberg 73bb0c05ad added 'incoming' peer source 2007-09-15 20:17:23 +00:00
Arvid Norberg bdd14cc155 added reject and suggest hooks to peer plugins 2007-09-14 03:38:38 +00:00
Arvid Norberg 15a193d363 fixed race condition in tracker manager 2007-09-14 02:54:15 +00:00
Arvid Norberg 7bbfb3bd4b added a userdata parameter to add_torrent that is passed in to plugins 2007-09-14 00:11:33 +00:00
Arvid Norberg 8cbc53074d upnp fix 2007-09-12 21:08:29 +00:00
Arvid Norberg 07ba2b8362 made upnp log the entire HTTP message sent to the router 2007-09-12 19:38:52 +00:00
Arvid Norberg 94f5b93d21 made it possible to pass in custom buffers to piece_manager::async_read, increased the maximum buffer size on bottled http_requests 2007-09-11 17:45:20 +00:00
Arvid Norberg 9246de00bd listen socket refactoring 2007-09-10 19:10:38 +00:00
Arvid Norberg 8b59f0e466 fix for reuseaddr 2007-09-10 16:47:43 +00:00
unsh 214dfa9427 made storage.cpp build on FreeBSD, updated Makefile.am 2007-09-10 13:46:08 +00:00
Arvid Norberg 4b63d8aaaf set reusaddr on the listen socket 2007-09-10 09:54:26 +00:00
Arvid Norberg 025a982b00 explicitly closes the listen socket 2007-09-10 09:23:04 +00:00
Arvid Norberg 80aee32972 fixed piece picker problem when a downloading piece could not be picked with the right speed category 2007-09-10 08:07:18 +00:00
Arvid Norberg 28be72e7b6 added ; for msvc-7.1 2007-09-10 06:56:30 +00:00
Arvid Norberg 57a76f9db6 fixed debug assert on linux 2007-09-10 06:12:41 +00:00
Arvid Norberg ee5ce50502 made max half open connections default to 8 on windows and added query function for that limit on session. 2007-09-10 01:57:40 +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 4fcdea4172 piece picker fix 2007-09-09 23:46:28 +00:00
Arvid Norberg f95e78e7f2 fixed potential dead-lock in connection queue 2007-09-09 23:03:49 +00:00
Arvid Norberg 35247e5912 fixed #151 2007-09-09 22:45:31 +00:00
Arvid Norberg 4269451bbe session_impl fix 2007-09-08 18:18:09 +00:00
Arvid Norberg 777bb87a55 made connection_queue thread safe 2007-09-08 16:27:43 +00:00
Arvid Norberg 140fdae5b1 block_downloading_alert change 2007-09-06 18:33:15 +00:00
Arvid Norberg 0d6970168d piece picker updates 2007-09-06 18:30:46 +00:00
Arvid Norberg fb401d2499 added asserts to piece_picker 2007-09-06 08:20:11 +00:00
Arvid Norberg e76de2edbc fixed typo 2007-09-06 01:32:29 +00:00
Arvid Norberg 7cd29ca371 piece picker updates and more tests 2007-09-05 23:32:05 +00:00
Arvid Norberg 4c8411d904 removed incorrect assert 2007-09-05 22:43:07 +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 d2706b3600 fixed #122 2007-09-03 22:57:09 +00:00
Arvid Norberg 4e8d49d028 applied patch from #145 2007-09-03 22:27:52 +00:00
Arvid Norberg c6b8b22679 replaced int64_t with size_type for portability 2007-09-03 21:20:28 +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 61c269efee added timeout for interested peers that don't request once they're unchoked. Added support for suggest_piece 2007-09-01 07:38:10 +00:00
Arvid Norberg fd42f3232b upnp more logging and error recovery 2007-09-01 04:08:39 +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 e248ba0cdc added asserts to make sure the global connection limit is not exceeded 2007-08-27 16:45:45 +00:00
Arvid Norberg aff2869bed fixed recent change to torrent_info.cpp 2007-08-27 16:12:42 +00:00
Arvid Norberg 09429d1871 removed some duplicate data from torrent_info 2007-08-27 07:23:57 +00:00
Arvid Norberg a567f18962 fixed #126 2007-08-27 06:47:08 +00:00
Arvid Norberg bce55bc149 removed expensive invariant checks 2007-08-27 05:32:47 +00:00
Arvid Norberg 86442482d9 piece picker bug fixes 2007-08-27 05:13:09 +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 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 b6ee4fddbf fixed uninitialized connection ticket 2007-08-25 14:52:48 +00:00
Arvid Norberg 7f43389f56 removed unused class from storage 2007-08-25 14:51:42 +00:00
Arvid Norberg c0ffdc51c7 piece picker fix and bandwidth_limiter typo fix 2007-08-25 05:09:25 +00:00
Arvid Norberg 6885361466 refactored identify_client 2007-08-24 02:11:41 +00:00
Arvid Norberg bf39ba7d72 added clients to identify_client 2007-08-23 19:10:43 +00:00
Arvid Norberg a5e985ec7c fixed choke bug 2007-08-22 18:50:53 +00:00
Arvid Norberg f7737cae32 reverted [1488] 2007-08-22 18:40:31 +00:00
Arvid Norberg e009834a18 fixed piece_picker bug 2007-08-22 18:38:48 +00:00
Arvid Norberg 7466638231 attempt to fix piece_picker assert 2007-08-22 17:39:57 +00:00
Arvid Norberg 744d96796b made it possible to start torrents in paused state. updated documentation 2007-08-22 05:31:42 +00:00
Arvid Norberg 1399b623bc choke count fixes 2007-08-21 21:51:29 +00:00
Arvid Norberg e074b0a977 removed too expensive invariant checks 2007-08-21 19:18:06 +00:00
Arvid Norberg 847f96d9c3 made policy::has_connection not throw 2007-08-21 19:04:27 +00:00
Arvid Norberg b121386492 piece picker fix 2007-08-21 18:39:44 +00:00
Arvid Norberg 4da3366a27 added invariant checks to session_impl 2007-08-21 18:33:28 +00:00
Arvid Norberg 8ce61ab04a added asserts to piece_picker 2007-08-21 18:17:31 +00:00
Arvid Norberg 23a20a24c1 added more asserts for choke/unchoke states and a peer_info flag to indicate a peer being optimistically unchoked 2007-08-21 17:45:28 +00:00
Arvid Norberg e865852c74 fixes #136 2007-08-21 08:16:41 +00:00
Arvid Norberg a3d4b1bdd9 fixed build problems on windows 2007-08-21 07:33:06 +00:00
Arvid Norberg 1a34478305 another (probably the final) attempt to fix to #133 2007-08-21 06:57:12 +00:00
Arvid Norberg a91b4e9ec3 another attempt to fix to #133 2007-08-21 06:38:27 +00:00
Arvid Norberg b8e48c061e attempt to fix build errors on windows. #134 2007-08-21 04:46:17 +00:00
Arvid Norberg c946afcfab fixed #133 2007-08-21 04:11:00 +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 a443225d49 added experimental assert with stacktrace for elf targets using gcc 2007-08-20 04:58:56 +00:00
Arvid Norberg e80653152b choked fix 2007-08-19 08:32:39 +00:00
Arvid Norberg da525292fe some more asserts 2007-08-19 08:23:44 +00:00
Arvid Norberg 88cd663895 piece_picker fix 2007-08-17 19:28:21 +00:00
Arvid Norberg c70223ff38 added url seed related functions to torrent_handle 2007-08-17 16:40:55 +00:00
Arvid Norberg 3d3df51d45 fixed per torrent unchoke limit 2007-08-17 07:37:08 +00:00
Arvid Norberg 834873a15e fixed unlimited settings check 2007-08-17 03:43:26 +00:00
Arvid Norberg b341b653cb assertion fix 2007-08-17 02:15:01 +00:00
Arvid Norberg 844c5fa695 fixed makefile 2007-08-17 00:54:51 +00:00
Arvid Norberg 477e5c33f5 fixed makefiles to work with latest source 2007-08-17 00:20:13 +00:00
Arvid Norberg d00ce3b28b optimized policy and removed #warning 2007-08-16 23:53:14 +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 a3d32dad4c fixed bugs in unchoke change check-in 2007-08-16 22:13:35 +00:00
Arvid Norberg f8979ff932 applied patch from #97 2007-08-16 19:41:28 +00:00
Arvid Norberg 9315851cdf fixed assert in request_a_block. Fixes #125 2007-08-16 19:36:33 +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 b62bb7944f merged fast-extension => trunk. the fast extension branch is now closed 2007-08-14 17:47:48 +00:00
Arvid Norberg a4ad8a6442 fixed issue where file::set_size would update the file modification date even when the size was not changed (fixes #105) 2007-08-11 15:22:06 +00:00
Arvid Norberg 6e78b6b824 optimization to only update peer interests in case a piece was filtered/unfiltered during a priority call 2007-08-10 21:13:35 +00:00
Arvid Norberg 11b63bc93e storage fix 2007-08-10 02:04:26 +00:00
Arvid Norberg b3e29ba8fa added freebsd to the linux path for detecting sparse files support 2007-08-08 23:08:55 +00:00
Arvid Norberg 3f5204aff6 removed some invariant checks that are expensive 2007-08-08 22:38:30 +00:00
Arvid Norberg 4d04588def made libtorrent build on msvc-8 sp1 2007-08-08 21:22:59 +00:00
Arvid Norberg b626bd96d5 reverted fix in 1435 2007-08-08 21:02:35 +00:00
Arvid Norberg 2a9d68376d upnp fixes, improved upnp logging and error handling 2007-08-07 07:59:51 +00:00
Arvid Norberg 5dfba92665 fixed #101 2007-08-07 07:35:21 +00:00
Arvid Norberg 6b86e5faa3 fixed #109 2007-08-07 07:29:51 +00:00
Arvid Norberg 61f713d24a fixed #107 2007-08-07 07:19:35 +00:00
Arvid Norberg 3cdbda928e fixes #104 2007-08-07 07:17:13 +00:00
Arvid Norberg 9f08256dff added support for attributes in the xml parser 2007-08-07 01:32:38 +00:00
Arvid Norberg f7b3433ff8 added check to disallow requests > 16kB (since the buffer pool now requires that limit) 2007-08-03 16:12:32 +00:00
Arvid Norberg be1faccd1d peer_connection fixes for earlier pending disk buffer size limit 2007-08-03 08:19:10 +00:00
Arvid Norberg 8387240b31 more asserts, piece_picker fixes, debug-iterator fixes 2007-08-03 06:13:26 +00:00
Arvid Norberg 192ce4b463 added some extra checks for buffer overrun in disk_io_thread 2007-08-02 01:42:19 +00:00
Arvid Norberg f2a8fe6df7 fixes to prevent incorrect asserts 2007-08-01 15:48:55 +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 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 54aa76f940 exposed queued disk bytes in peer_info 2007-08-01 06:11:11 +00:00
Arvid Norberg 786d4e5f25 added a limit on how many bytes each connection can have pending in the disk write queue 2007-08-01 05:22:34 +00:00
Arvid Norberg 054fa03d9d connection queue fix 2007-07-27 17:41:42 +00:00
Arvid Norberg f67deba30e fixed #81 2007-07-26 07:04:35 +00:00
Arvid Norberg a630756fae more _SECURE_SCL related fixes 2007-07-24 15:48:06 +00:00
Arvid Norberg f89ce2669f fixes #90. adds compact_mode to torrent_status 2007-07-23 04:36:56 +00:00
Arvid Norberg 3050e35adf disabled lsd for private torrents 2007-07-23 00:38:31 +00:00
Arvid Norberg bde5a9be0a fixed intended behavior for async_move_storage (2nd attempt) 2007-07-17 08:33:14 +00:00
Arvid Norberg fa37b9f3df fixed intended behavior for async_move_storage 2007-07-17 08:12:32 +00:00
Arvid Norberg 664abc570b uploads limit fix 2007-07-17 06:39:39 +00:00
Arvid Norberg cf35ec6d9c added asserts to try to catch #84 2007-07-15 19:00:41 +00:00
Arvid Norberg 1acedb39dc prioritize more complete partial pieces over less complete ones 2007-07-15 15:41:55 +00:00
Arvid Norberg 6650a34cfd fixed #83 2007-07-15 14:20:55 +00:00
Arvid Norberg 245793b7a3 applied patch in #79 2007-07-15 05:34:28 +00:00
Arvid Norberg 329f73276f fixed #82 2007-07-15 05:32:56 +00:00
Arvid Norberg 430534bf3f fixed incorrect assert 2007-07-10 18:55:14 +00:00
Arvid Norberg 9bdf2a9c8d fixed invariant check in policy 2007-07-10 17:25:10 +00:00
Arvid Norberg 5e08a9b379 added reiser4 as having sparse files support and improved detection on mac 2007-07-09 23:29:58 +00:00
Arvid Norberg 182c917842 optimized peer_connection by postponing diffie hellman key creation and generation of handhake until the connection has succeeded 2007-07-09 04:22:38 +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 e395747e35 fixed piece picker bug 2007-07-08 20:43:44 +00:00
Arvid Norberg a46ef3ece8 changed the handshake 'ip' to 'yourip' 2007-07-07 01:36:40 +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 4d912eddf4 added openssl cleanup (to make leak detectors not complain) 2007-07-06 23:06:58 +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
unsh 927985b38a fixed bug in shared secret generation 2007-07-06 09:38:38 +00:00
unsh 1e8b11adb3 updated makefiles for automake 2007-07-06 09:02:27 +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 3c69e3b2cb updated asserts 2007-07-04 16:15:46 +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 e714e1aeba improved bandwidth limiter and added a unit test for it 2007-07-02 23:48:06 +00:00
Arvid Norberg 8aa37dfa39 fixed #75 2007-07-02 19:31:46 +00:00
Arvid Norberg 816bf3ff2d made the number of peers requested from trackers customizable 2007-07-02 18:44:33 +00:00
Arvid Norberg 35b99dbae7 changed identify client to say uTorrent instead of MicroTorrent 2007-07-02 16:47:32 +00:00