Commit Graph

3904 Commits

Author SHA1 Message Date
Arvid Norberg 3507e5f909 fix ut_metadata logging 2011-11-03 22:20:37 +00:00
Arvid Norberg 9a49372368 fix invariant check now that interest is calculated lazily 2011-11-03 09:20:16 +00:00
Arvid Norberg 2d6d76c525 fix mistake in last disk I/O patch 2011-11-03 09:19:43 +00:00
Arvid Norberg 1d238fd1d8 ignore EOF error from readv() in unaligned_write 2011-11-03 04:56:24 +00:00
Arvid Norberg 3b1a332d6e fix error reporting for session::add_torrent 2011-11-02 17:08:47 +00:00
Arvid Norberg 0d3eb71ba1 return -1 on failure on truncating file 2011-11-02 09:07:54 +00:00
Arvid Norberg 32dfc469c3 use NtSetInformationFile to truncate files in unbuffered mode (to avoid having to close and re-open them) 2011-11-02 09:02:28 +00:00
Arvid Norberg 99a209e3c9 web_peer_connection fix and assert 2011-11-02 08:04:16 +00:00
Arvid Norberg daedc43d3c fix release build 2011-11-02 05:28:25 +00:00
Arvid Norberg 36c9c663d3 fixed missing includes 2011-11-02 04:50:04 +00:00
Arvid Norberg ca9122861a merged unaligned write fix over from RC_0_15 2011-11-02 04:45:22 +00:00
Arvid Norberg 3c602e8fe8 remove redundant include 2011-11-01 05:41:10 +00:00
Arvid Norberg 9a91518b9a add assert in web_peer_connection 2011-10-30 06:13:34 +00:00
Arvid Norberg ec80a85bdb fixed connection setup and teardown issues 2011-10-28 23:34:55 +00:00
Arvid Norberg b85727c633 another channel state fix 2011-10-28 23:08:52 +00:00
Arvid Norberg dfda3c9a95 another channel state fix 2011-10-28 22:56:23 +00:00
Arvid Norberg 85ff124503 one more channel stat fix 2011-10-28 21:38:45 +00:00
Arvid Norberg becd714bc8 channel state fix 2011-10-27 08:42:51 +00:00
Arvid Norberg 602e0089f9 fixed silly typo 2011-10-26 01:00:53 +00:00
Arvid Norberg 1c8a7b6343 fixed invalid torrent_status::finished_time 2011-10-26 00:58:21 +00:00
Arvid Norberg e58e27e83a change peer_states to be a bitmask (bw_limit, bw_network, bw_disk) 2011-10-25 17:34:42 +00:00
Arvid Norberg da4998bd46 minor fix to broadcast socket patch 2011-10-25 10:28:54 +00:00
Arvid Norberg 0a2b352795 possible dangling pointer fix in broadcast_socket 2011-10-25 05:55:32 +00:00
Arvid Norberg 9afd09d797 optimize sending buffers on peer sockets by corking and uncorking 2011-10-24 04:22:53 +00:00
Arvid Norberg 5e3e4c6146 fixed typo in hash-piece parser 2011-10-23 09:21:07 +00:00
Arvid Norberg 15f20c887d fix msvc build 2011-10-22 17:44:40 +00:00
Arvid Norberg b430152174 post disk job completions in batches to save CPU in the network thread 2011-10-19 05:46:49 +00:00
Arvid Norberg d3fb55e1da optimize socket send buffers a bit 2011-10-19 02:40:37 +00:00
Arvid Norberg a9b51e1579 fix overflow issue when determining number of outstanding bytes 2011-10-18 16:22:36 +00:00
Arvid Norberg 95e462e750 windows version of CPU time measurement 2011-10-18 00:42:05 +00:00
Arvid Norberg 7d20c0b0c4 log CPU usage of network thread 2011-10-17 17:12:08 +00:00
Arvid Norberg 8b6522a763 log buffer sizes passed to read() and write() at the socket layer (to identify performane problems) 2011-10-17 06:54:02 +00:00
Arvid Norberg aab4cb6937 log number of asio messages passed through the queue per second (to track down performance issue) 2011-10-17 05:17:21 +00:00
Arvid Norberg 14e7c9f480 queue position fix 2011-10-15 07:11:50 +00:00
Arvid Norberg ef1ee13d58 fix bug in flush_cache_blocks 2011-10-13 02:19:55 +00:00
Arvid Norberg 01405f32ee added async_add_torrent for increased performance when adding many torrents (no documentation yet though) 2011-10-12 10:27:17 +00:00
Arvid Norberg e6324670a1 fix issue in write_unaligned when writing to a file it's too short 2011-10-11 08:43:15 +00:00
Arvid Norberg e1bfd8541f fixed bugs in dont-have and upload-only extension messages 2011-10-11 07:20:12 +00:00
Arvid Norberg 744a3be65d also use separate lower limits for up and download rates in the TCP/uTP mixed mode algorithm 2011-10-11 05:05:09 +00:00
Arvid Norberg 8aed4eaa7f improve TCP/uTP mixed mode algorithm by only taking peers into account that have outstanding requests (and want to send or expect to receive). Also throttle upload and download independently 2011-10-11 05:00:35 +00:00
Arvid Norberg 2741563711 set alert_mask early 2011-10-08 09:52:36 +00:00
Arvid Norberg f20a63e817 fix web seed race condition when using a proxy 2011-09-30 09:09:33 +00:00
Arvid Norberg d535e6b1ee fix setting of disk_io_write_mode and disk_io_read_mode in set_settings 2011-09-28 18:14:48 +00:00
Arvid Norberg d54c85d31b log uTP receive delay in stats log 2011-09-28 00:03:12 +00:00
Arvid Norberg b078f908f0 one more attempt to fix no-readback cache algorithm 2011-09-27 10:46:56 +00:00
Arvid Norberg b3d2877274 more no-readback fixes 2011-09-27 07:50:58 +00:00
Arvid Norberg d8641705e3 commented out expensive invariant check in disk cache 2011-09-27 04:56:57 +00:00
Arvid Norberg f6b6b57c0e fix avoid-readback cache algorithm 2011-09-27 04:05:05 +00:00
Arvid Norberg 20e261e80a log piece size for pieces that finishes 2011-09-26 02:27:23 +00:00
Arvid Norberg da0f992c47 fix logging build 2011-09-25 23:42:56 +00:00
Arvid Norberg 451c31828f changed semantics of send_buffer_watermark_factor to be specified as a percentage 2011-09-23 21:12:28 +00:00
Arvid Norberg 85db40e2c5 log outstanding reading bytes from peers in stats log 2011-09-23 20:57:42 +00:00
Arvid Norberg cda738abc6 minor logging fix 2011-09-23 05:12:29 +00:00
Arvid Norberg bf4ba45bf3 remove invalid assert in session_impl::listen_on 2011-09-22 21:30:46 +00:00
Arvid Norberg 8c23b0e3ce allow NULL to be passed to create_torrent::set_comment and create_torrent::set_creator 2011-09-22 21:24:50 +00:00
Arvid Norberg 976a50384a some more struct layout optimization 2011-09-22 10:37:47 +00:00
Arvid Norberg 5a7fe934bf fix torrent_info swap with openssl 2011-09-21 09:40:14 +00:00
Arvid Norberg 7a50255865 improved struct layout debug logging and optimized some structs 2011-09-21 09:27:07 +00:00
Arvid Norberg 61ceacca9b fix non-openssl logging build 2011-09-21 03:51:07 +00:00
Arvid Norberg 06cad3a245 fix UPnP issue for routers with multiple PPPoE connections 2011-09-18 20:28:06 +00:00
Arvid Norberg d27430a8c3 clear the queued packets on socks5 error, as a precaution 2011-09-17 23:03:46 +00:00
Arvid Norberg 2a6b019431 don't fail socks5 on 'socket already open' 2011-09-17 23:01:39 +00:00
Arvid Norberg 4e1af65fe0 fix issue where event=stopped announces wouldn't be sent when closing session 2011-09-17 21:15:42 +00:00
Arvid Norberg 52a0760e5b fix release asserts 2011-09-17 05:16:05 +00:00
Arvid Norberg f5b5160169 add incoming_connection_alert for logging all successful incoming connections 2011-09-17 01:44:05 +00:00
Arvid Norberg 986cee3417 fix tracker stopping issue on session shutdown 2011-09-16 08:34:17 +00:00
Arvid Norberg c83865b8ac move set_alert_dispatch out of deprecated function ifdef block 2011-09-16 04:03:54 +00:00
Arvid Norberg 8e6c159c83 fix possible hang in file::readv() on windows 2011-09-15 09:43:29 +00:00
Arvid Norberg 6271ee58f6 fix overflow issue in default disk write queue size limit 2011-09-14 06:22:45 +00:00
Arvid Norberg fb89e58901 fix build issue 2011-09-13 07:02:14 +00:00
Arvid Norberg c952f30820 slight improvement 2011-09-13 02:38:50 +00:00
Arvid Norberg ef496eb00c tracker retry fix 2011-09-13 02:23:18 +00:00
Arvid Norberg 460799d600 fix CPU busy loop issue in tracker announce logic 2011-09-12 05:21:16 +00:00
Arvid Norberg 469414d486 initial BitTorrent over SSL support 2011-09-12 03:51:49 +00:00
Arvid Norberg 90372b6caf fixed bug in auto manager which would never enable local peer discovery for torrents 2011-09-11 03:39:24 +00:00
Arvid Norberg 675721d971 basic support for bittorrent connections over SSL 2011-09-10 05:52:07 +00:00
Arvid Norberg 38a4b58c3a comment on incorrect assert 2011-09-10 05:37:18 +00:00
Arvid Norberg 09c235c936 solaris file allocation support 2011-09-08 23:08:37 +00:00
Arvid Norberg 012bad4b18 added missing setter function on create_torrent 2011-09-05 07:46:10 +00:00
Arvid Norberg 92bcb9ebfd feature to encrypt peer connections with a secret AES-256 key stored in .torrent file 2011-09-05 05:50:41 +00:00
Arvid Norberg 43c9e640ab honor IOV_MAX when using writev and readv 2011-09-05 05:47:50 +00:00
Arvid Norberg bc1e47a486 solaris fixes 2011-09-04 23:29:47 +00:00
Arvid Norberg 8f1a811306 fix bug in verbose logging with encryption 2011-08-31 20:38:48 +00:00
Arvid Norberg 97ca82984f ssl comment 2011-08-29 02:05:37 +00:00
Arvid Norberg ec74d500a4 clean up encryption code some 2011-08-29 02:00:17 +00:00
Arvid Norberg 0a250c8f36 minor fixes 2011-08-29 00:59:42 +00:00
Arvid Norberg a286a6b4aa initial attempt at verifying the certificate of ssl trackers, by including the certificate in the .torrent file 2011-08-28 21:06:15 +00:00
Arvid Norberg e7185b519b fix some release asserts 2011-08-27 09:47:36 +00:00
Arvid Norberg 7a48e90246 some utp asserts 2011-08-24 05:13:25 +00:00
Arvid Norberg 51c10cc76f on disk errors, only set upload-only for some errors. For all others, pause the torrent. Also fixed some release asserts 2011-08-22 01:37:56 +00:00
Arvid Norberg 51ed06304e deprecated compact storage allocation 2011-08-22 00:51:14 +00:00
Arvid Norberg a2e24faa01 fix logging build with no encryption 2011-08-21 02:04:14 +00:00
Arvid Norberg 6dd9a7d83a don't post 'operation aborted' UDP errors when changing listen port 2011-08-21 01:55:38 +00:00
Arvid Norberg fb06fd928b fixed issue where the next tier in a set of trackers would not be tried for the configuration of announce_to_all_trackers = true and announce_to_all_tiers = false 2011-08-17 23:01:35 +00:00
Arvid Norberg 293e41afff msvc build fix 2011-08-16 09:22:41 +00:00
Arvid Norberg 1c5399b736 piece picker optimization 2011-08-16 06:30:53 +00:00
Arvid Norberg 25ad24ec68 piece picker optimization. O(log n), lookup of downloading pieces instead of O(n) 2011-08-15 04:16:43 +00:00
Arvid Norberg b9be2fe94b fix production assert 2011-08-14 23:55:41 +00:00
Arvid Norberg 88441e4fdc another attempt at optimizing piece picker 2011-08-14 23:16:12 +00:00
Arvid Norberg e89eb6e606 attempt to optimize piece picker 2011-08-14 21:18:06 +00:00
Arvid Norberg 1b470e0961 move the code of chained buffer out to its own cpp file 2011-08-13 23:01:38 +00:00
Arvid Norberg 1d40d7aad9 fixing up some asserts and verbose logging 2011-08-13 18:46:52 +00:00
Arvid Norberg 4abf581f0a utp fix 2011-08-10 05:23:59 +00:00
Arvid Norberg bf2e4df2b2 fix build with std::tr1::array instead of boost::array 2011-08-07 23:40:39 +00:00
Arvid Norberg ecba902ff1 fix cache eviction issue in seed_mode 2011-08-07 07:27:38 +00:00
Arvid Norberg f6554bad08 back ported feature to expose which pieces have been verified in seed_mode and exposes it in client_test (initially implemented in the libtorrent_aio branch) 2011-08-07 07:19:18 +00:00
Arvid Norberg 601443afd3 close files in separate thread on systems where close() may block (Mac OS X for instance) 2011-08-07 04:41:10 +00:00
Arvid Norberg d4958c9286 support for dont-have extension message 2011-08-07 00:41:13 +00:00
Arvid Norberg 3e505f01fc fix issue where torrents could 'get stuck' queued for checking (if they were paused) 2011-08-06 17:54:33 +00:00
Arvid Norberg 47cf5dd27c another piece deadline fix 2011-08-06 10:57:32 +00:00
Arvid Norberg 6a4708ef15 fix potential infinite loop in request_time_critical_pieces 2011-08-05 17:35:09 +00:00
Arvid Norberg 38b91cba40 added some comments to time-critical-pieces 2011-08-05 07:56:07 +00:00
Arvid Norberg 109e527568 added reset_piece_deadline function 2011-08-05 06:31:46 +00:00
Arvid Norberg 0f72cd3148 fix merkle torrents assert 2011-08-05 06:10:12 +00:00
Arvid Norberg 6a01b035be add missing files 2011-08-01 08:03:26 +00:00
Arvid Norberg 855e5a1acb fixed typo in settings map 2011-08-01 04:10:01 +00:00
Arvid Norberg e81dbfb7f8 don't create all directories up front when adding torrents 2011-08-01 00:22:54 +00:00
Arvid Norberg bc2f0c8c5e move disk_buffer_pool out to its own file 2011-07-31 02:24:36 +00:00
Arvid Norberg 7817229f5d improve support for merkle tree torrent creation 2011-07-30 17:35:22 +00:00
Arvid Norberg fbd7d49d7e fix silly typo 2011-07-26 18:44:39 +00:00
Arvid Norberg 98157176c2 return a full bitmask for pieces when seeding, don't allocate empty allocations for 0-sized bitmasks 2011-07-26 01:52:51 +00:00
Arvid Norberg f722d2951a fix earlier time-critical-piece patch 2011-07-24 16:18:54 +00:00
Arvid Norberg ff6da81c4c fix iconv use on mingw 2011-07-23 19:30:23 +00:00
Arvid Norberg 1b353ce5af fix beos build 2011-07-20 05:14:25 +00:00
Arvid Norberg bbb0461bf1 fix possible streaming issue when re-checking 2011-07-14 16:41:03 +00:00
Arvid Norberg 46f585e928 fix file attribute when creating torrents on windows 2011-07-14 14:24:39 +00:00
Arvid Norberg 069b022c6d fixed uTP socket leak 2011-07-14 03:46:03 +00:00
Arvid Norberg 40fb16b703 fix for pad-files 2011-07-12 08:53:20 +00:00
Arvid Norberg ee77b3fd04 handle buggy upnp routers 2011-07-12 08:33:05 +00:00
Arvid Norberg 0d959ed697 fix disk thread settings update bug when changing session_settings::lock_files 2011-07-10 01:36:18 +00:00
Arvid Norberg 8d86c3bacc fixed release-asserts bulid 2011-07-05 04:05:12 +00:00
Arvid Norberg 94b3ef81c3 updated documentation to call out the save-resume-data race condition and added an assert to the destructor of alert_manager 2011-07-04 05:45:39 +00:00
Arvid Norberg 639590eff8 fixed typo in physical_offset pad-file fix 2011-07-03 21:09:42 +00:00
Arvid Norberg da0560f129 fixed typo in previous check-in 2011-07-03 20:39:24 +00:00
Arvid Norberg 0068f48646 vm stats logging for linux 2011-07-03 20:07:20 +00:00
Arvid Norberg de3ea9214a log a low-pass filtered iops to stats log 2011-07-03 17:21:45 +00:00
Arvid Norberg 2c07e488b1 fix assert in storage::physical_offset when peers requests pad files 2011-07-03 15:57:41 +00:00
Arvid Norberg 90d8030269 log VM stats alongside the session stats 2011-06-28 22:20:34 +00:00
Arvid Norberg 209b9e4186 make disk timing be average over the last second. fixed some other bugs in previous changes 2011-06-26 19:45:33 +00:00
Arvid Norberg c647e95244 adjust default read cache line size and log IOPS in session stats 2011-06-26 19:00:40 +00:00
Arvid Norberg 2e70f92003 back ported simplification of stats logging code from aio branch 2011-06-26 18:43:23 +00:00
Arvid Norberg f5d6f885e3 fixed bug in next_announce_in 2011-06-25 19:29:06 +00:00
Arvid Norberg 0093229d27 merge diff from aio branch to show partially bdecoded files with dump_torrent 2011-06-25 17:42:49 +00:00
Arvid Norberg 69bbee8932 fix assert in torrent_info 2011-06-25 17:24:26 +00:00
Arvid Norberg d47f8a11dc possible end-game fix 2011-06-23 17:17:51 +00:00
Arvid Norberg c390dd5858 measure uTP send delay and log it in stats log. change unit on times to seconds (from milliseconds and microseconds) 2011-06-21 07:44:13 +00:00
Arvid Norberg 3e5b165a91 fix invariant check defines 2011-06-21 07:10:54 +00:00
Arvid Norberg b9e754d14d mark some invariant checks in disk_io_thread as expensive 2011-06-21 05:10:32 +00:00
Arvid Norberg ae3fc48b80 add some session settings to the settings map 2011-06-21 04:39:04 +00:00
Arvid Norberg de799e1100 fix issue in session_impl::remove_torrent which would cause it to throw 2011-06-21 02:02:58 +00:00
Arvid Norberg 39a68729a5 add instrumentation for mixed mode 2011-06-20 04:33:46 +00:00
Arvid Norberg 060b849dda factor encryption handler a bit and add proposal for an authentication extension 2011-06-18 16:58:36 +00:00
Arvid Norberg 1b5ee819cd fixed unaligned disk access for unbuffered I/O in windows 2011-06-17 15:10:40 +00:00
Arvid Norberg 67b79cdd69 fix windows assert 2011-06-17 06:55:40 +00:00
Arvid Norberg ec30fe5f9b fix build issue with statistics enabled 2011-06-16 00:28:36 +00:00
Arvid Norberg a18649dc9b bump the max metadata size to 2 megabytes 2011-06-15 23:59:44 +00:00
Arvid Norberg 78c6bd3b08 fix signature for set_alert_mask 2011-06-13 16:46:46 +00:00
Arvid Norberg a5c3554a87 log number of peers in end-game mode 2011-06-13 16:20:21 +00:00
Arvid Norberg d6c8184381 support locking files 2011-06-09 06:08:24 +00:00
Arvid Norberg 67ad61fd0a fix invalid assert for resume data being loaded 2011-06-09 05:46:47 +00:00
Arvid Norberg 887423ef1e fix comment 2011-06-08 08:45:28 +00:00
Arvid Norberg 7bea10a698 fixed unbuffered disk read/write 2011-06-07 08:18:51 +00:00
Arvid Norberg f6f516bed0 fix file_storage copy constructor (would break python bindings) 2011-06-06 07:47:29 +00:00
Arvid Norberg 57f24128a9 add more default reporting about the request and download queue of peers to track end-game stall issue 2011-06-06 04:24:12 +00:00
Arvid Norberg 44c95ebbc5 fix build error 2011-06-05 23:37:33 +00:00
Arvid Norberg b8614a36b3 fix resume state for paused when torrent was in graceful pause mode 2011-06-05 20:48:00 +00:00
Arvid Norberg f60e88e7f8 fix crash when passing in an uninitialized entry to session::load_state 2011-06-05 06:42:51 +00:00
Arvid Norberg 68dee0342b minor fix 2011-06-05 06:32:00 +00:00
Arvid Norberg df003ef57c fix checking behavior when pausing/resuming the session 2011-06-05 03:06:34 +00:00
Arvid Norberg 4a914852cc support torrents whose name is empty 2011-06-03 08:48:33 +00:00
Arvid Norberg ebba1f3c57 fix assert when pausing session while checking torrents 2011-06-03 08:40:13 +00:00
Arvid Norberg 1a927787b1 distinguish between an empty name and missing name in torrent files 2011-06-02 22:15:42 +00:00
Arvid Norberg ae76e77065 fix up some cases where we shouldn't be in end-game mode 2011-06-01 09:14:21 +00:00
Arvid Norberg 8190744f0c fix DHT error messages to either not be sent or contain valid transaction IDs 2011-06-01 07:44:33 +00:00
Arvid Norberg 05e91f1a6d fix uninitialized sequence number for session stats logs 2011-06-01 07:06:20 +00:00
Arvid Norberg 0c35fde81c memory usage optimization in policy::peer 2011-06-01 06:47:57 +00:00
Arvid Norberg 5dbc41447d fixed build issue 2011-05-28 00:55:47 +00:00
Arvid Norberg b4a141a26c cleanup ut_metadata 2011-05-27 22:47:14 +00:00
Arvid Norberg e6640de205 updated IP->ID formula for DHT 2011-05-26 17:04:53 +00:00
Arvid Norberg d855bcc815 fix potential crash when peers get disconnected when we announce pieces to them 2011-05-25 16:06:51 +00:00
Arvid Norberg 2bb53ce6e8 fix non-openssl builds and improved error messages for mutable puts 2011-05-25 02:41:48 +00:00
Arvid Norberg 6fa1827c39 add support for mutable put/get functions in DHT 2011-05-25 02:26:07 +00:00
Arvid Norberg 5bbbf0cd41 add rsa sign and verification functions for future DHT extensions 2011-05-23 23:42:52 +00:00
Arvid Norberg f13de88b63 fixed dht logging build 2011-05-23 06:37:43 +00:00
Arvid Norberg 6830eb10a9 remove old search code from DHT. modify announce-item to fit with more recent proposal of get/put. Only immutable entries for now 2011-05-23 05:07:52 +00:00
Arvid Norberg 58d723012a support DHT scrape 2011-05-23 00:45:36 +00:00
Arvid Norberg 88fa0b9393 optimize send buffer allocation and deallocation by not allowing requiring contiguous buffers 2011-05-19 02:41:28 +00:00
Arvid Norberg 24f72b2045 fix bug in peer list when hitting the upper size limit 2011-05-16 16:37:37 +00:00
Arvid Norberg 6e23b9f5a6 allow torrents to keep running when they encounter an error (such as disk full) but still report the error in the torrent's error string 2011-05-16 07:47:21 +00:00
Arvid Norberg 801d3637b9 attempt to fix crash in udp_socket when using a broken socks5 proxy 2011-05-14 22:25:49 +00:00
Arvid Norberg fa61a1eada fixed typo in logic that connects web seeds 2011-05-14 03:03:11 +00:00
Arvid Norberg e946ba654f release assert fixes 2011-05-08 23:52:06 +00:00
Arvid Norberg a73960aa5a support release asserts 2011-05-08 09:04:59 +00:00
Arvid Norberg a329a11b57 add build option to always enable asserts (i.e. allow asserts in release builds) 2011-05-07 19:58:38 +00:00
Arvid Norberg 56364cc9c7 disable hash checks fix 2011-05-05 04:02:10 +00:00
Arvid Norberg c003e4f810 extend plugin API to allow hooking when peers are added to the peer list 2011-05-02 01:45:56 +00:00
Arvid Norberg 6f127dd07b fixed build with no deprecated functions 2011-05-01 19:28:13 +00:00
Arvid Norberg 83ba5afaa5 don't reject peer connections just because the peerlist is full 2011-05-01 18:37:49 +00:00
Arvid Norberg a9cc2101c6 fixed bug with setting and getting file priorities 2011-05-01 17:43:15 +00:00
Arvid Norberg 449733d518 logging fixes 2011-05-01 08:58:45 +00:00
Arvid Norberg eaea22be71 make torrent priority stricly prefer unchoking peers on high priority torrents 2011-04-30 20:33:35 +00:00
Arvid Norberg e07e8b2f98 fixed connection limit to take web seeds into account as well 2011-04-30 20:05:23 +00:00
Arvid Norberg 0eb7505ad9 fix race condition when resolving the hostname of a web seed and removing it 2011-04-29 08:09:03 +00:00
Arvid Norberg 90719bf77d fixed bug when receiving a have message before having the metadata 2011-04-29 02:45:02 +00:00
Arvid Norberg 2ab17b7a51 handle incoming invalid piece messages sizes 2011-04-28 08:55:27 +00:00
Arvid Norberg 58ea6f5b3c don't start the next checking torrent when the session is paused 2011-04-28 07:54:57 +00:00
Arvid Norberg c4761e3922 proper seed mode fix 2011-04-28 07:32:42 +00:00
Arvid Norberg bbde8f772a fix bug in seed mode when a piece fails hash check 2011-04-28 06:36:44 +00:00
Arvid Norberg 4fcb26c8ad revert file_too_short error message, since it breaks checking 2011-04-28 04:31:45 +00:00
Arvid Norberg ebd116cce3 clean up disk callbacks a bit with regards to whether the torrent is still alive 2011-04-28 03:23:14 +00:00
Arvid Norberg dab3d5706f for high performance preset, support accepting many connections simultaneously 2011-04-27 08:06:44 +00:00
Arvid Norberg 1723e2d4f7 don't time out peers as long as we can upload to them 2011-04-27 08:05:37 +00:00
Arvid Norberg 810ce884fb always post cache_flushed_alert when removing a torrent 2011-04-26 16:26:53 +00:00
Arvid Norberg 2eff66c9b0 removed invalid assert 2011-04-26 16:22:21 +00:00
Arvid Norberg 5811e9eef8 small hint_read issue 2011-04-26 08:08:54 +00:00
Arvid Norberg 83fe560aa2 fixed uninitialized stats logger 2011-04-26 07:05:26 +00:00
Arvid Norberg e389f5963d added support for fadvise/F_RDADVISE for improved disk read performance 2011-04-26 07:03:05 +00:00
Arvid Norberg 29ce1a3704 improve file_too_short error message 2011-04-25 06:02:19 +00:00
Arvid Norberg d0af936933 don't turn off read-ahead by default on files. Might impact hash checking 2011-04-25 02:15:18 +00:00
Arvid Norberg 990de1c243 fix windows build issue (one more try) 2011-04-25 02:01:36 +00:00
Arvid Norberg 1deeb98898 prefer purging peer entries that are not connectable 2011-04-25 00:13:30 +00:00
Arvid Norberg 6e7de92859 we need backtraces for asio-debugging as well 2011-04-24 23:32:02 +00:00
Arvid Norberg 2add9d193a fix issue of adding duplicate incoming connections indefinitely to peer list when allow_multiple_connections_per_ip is enabled 2011-04-24 23:26:54 +00:00
Arvid Norberg 7d5df3eaa9 remove invalid assert 2011-04-24 23:08:23 +00:00
Arvid Norberg a5c0fd7210 fix potential overflow in stats averaging 2011-04-22 08:12:19 +00:00
Arvid Norberg 573a291495 first step to remove recursion in bandwidth channel 2011-04-21 03:13:53 +00:00
Arvid Norberg 86d52bbe13 include info-hash in torrent_status and post event when disk cache is fully flushed when deleting a torrent 2011-04-19 08:21:09 +00:00
Arvid Norberg a15b23f8e8 fixed bug in buffer debug code in allocator 2011-04-17 08:39:52 +00:00
Arvid Norberg 8e92cad2db fixed bug in avoid_readback disk cache eviction algorithm 2011-04-17 05:33:33 +00:00
Arvid Norberg caed433cc7 make it possible to derive from default_storage class 2011-04-16 22:58:11 +00:00
Arvid Norberg e2d3e7c300 removed invalid assert 2011-04-16 19:25:39 +00:00
Arvid Norberg 554812f0ab improve buffer debugging by logging the call stack of where it was allocated and freed from 2011-04-15 08:37:27 +00:00
Arvid Norberg a7b8ae9e27 fixed BSD file allocation issue 2011-04-13 06:54:56 +00:00
Arvid Norberg 6a9865b7c9 fix invariant check for graceful pause 2011-04-11 02:57:32 +00:00
Arvid Norberg 35d8f7bc19 fix assert when checking multiple torrents and pausing session 2011-04-10 22:05:28 +00:00
Arvid Norberg c0f2d5186f added option to replace trackers or add trackers when loading trackers from resume data 2011-04-10 21:33:29 +00:00
Arvid Norberg 0c28a3e3ca fixed bug in session::delete_files option to remove_torrent 2011-04-10 20:35:45 +00:00
Arvid Norberg 381f42bcf2 fix mingw build 2011-04-10 03:45:13 +00:00
Arvid Norberg bcd44536a8 stack SOCKS5 UDP header buffer needs to fit at least 22 bytes 2011-04-10 02:29:35 +00:00
Arvid Norberg 3435da235d make is_upload_only() be accurate and deal with super seeding special case only where necessary. Fix pointless assert in invariant check 2011-04-09 23:57:56 +00:00
Arvid Norberg 087e4a3fdc fixed msvc build 2011-04-09 21:04:02 +00:00
Arvid Norberg e5720eafd8 fix crash in udp_socket when using SOCKS5 proxy 2011-04-09 17:59:00 +00:00
Arvid Norberg 8aae74ea03 make enum_net use feature ifdefs instead of platform ifdefs 2011-04-09 03:49:46 +00:00
Arvid Norberg 61ceaba6de fix shadowed variable warning 2011-04-08 04:47:26 +00:00
Arvid Norberg 78ef442997 clear log file pointer 2011-04-06 07:58:29 +00:00
Arvid Norberg 35038bc3eb fix rotating logs when enabling and disabling stats logging at run-time 2011-04-06 07:33:10 +00:00
Arvid Norberg 22f20253f8 support turning logging on and off during run-time when built with stats logging 2011-04-06 06:27:42 +00:00
Arvid Norberg f3a7d567a4 fix bug in disk thread and torrent abort functions 2011-04-04 02:57:19 +00:00
Arvid Norberg 572f176f99 fix assert when removing a torrent 2011-04-02 20:05:44 +00:00
Arvid Norberg 56ab4db2e7 fixed bug introduced when trying to fix a warning of shadowing variables 2011-04-02 19:54:30 +00:00
Arvid Norberg 35d2354c38 bump default .torrent file size limit for magnet files to 3 MB and add more verbose logging to ut_metadata.cpp 2011-04-02 08:13:35 +00:00
Arvid Norberg d4a9a9ae77 fixed issue in session_impl::on_disk 2011-04-01 08:08:41 +00:00
Arvid Norberg 38caeb43d2 use snprintf instead of sprintf 2011-03-30 16:04:24 +00:00
Arvid Norberg 113fa0ba3d fixed some shadowed variable warnings 2011-03-30 16:03:35 +00:00
Arvid Norberg 74ccff22be use a deque instead of list for disk io jobs queue 2011-03-28 06:01:24 +00:00
Arvid Norberg 428ab186af it appears the write queue performs just as good at 10 MB as 50 MB 2011-03-27 22:22:57 +00:00
Arvid Norberg fdd23fc629 introduce a lower pass download/upload rate and report in session log 2011-03-27 20:58:43 +00:00
Arvid Norberg f6a42863e3 try to optimize disk write performance by raising the low watermark (for disk thread queue) to start reading from sockets and also post the start-reading event earlier. Also implement fair round-robin of which peers get to start downloading on this event 2011-03-27 20:35:38 +00:00
Arvid Norberg 346a6fb175 another read job starvation fix + some more logging 2011-03-27 08:21:26 +00:00
Arvid Norberg 311f7f0e57 fixed typo 2011-03-27 08:05:57 +00:00
Arvid Norberg a0ceaed11d set read_job_every to 100 instead of 1000 in high_performance_seed preset 2011-03-27 06:16:39 +00:00
Arvid Norberg afc80b7e98 fix invalid assert that would trigger when allow_multiple_connections_per_ip was true 2011-03-27 06:07:23 +00:00
Arvid Norberg 41bc60c36a fixed bug in avoid_readback disk cache algorithm 2011-03-26 19:06:58 +00:00
Arvid Norberg 3d826ae32f figured out the weirdness in the session rate stats 2011-03-25 07:49:32 +00:00
Arvid Norberg 65943e7ff7 fixed reconnect delay when leaving upload only mode 2011-03-25 05:14:14 +00:00
Arvid Norberg d493b0f1a0 just some comments 2011-03-25 04:08:43 +00:00
Arvid Norberg 9344e95285 add missing include 2011-03-25 02:59:59 +00:00
Arvid Norberg 7e07f7469f fixed bug in web_connection_base when receiving chunked encoding and made sure the unit tests pass 2011-03-24 16:46:26 +00:00
Arvid Norberg 929c31a757 fix pex unit test and shave off a few seconds for pex 2011-03-24 03:34:06 +00:00
Arvid Norberg 29a523401e bump read_job_every for high performance seeds 2011-03-24 00:50:45 +00:00
Arvid Norberg 1ab853db40 properly back off when accept() returns EMFILE 2011-03-23 08:49:26 +00:00
Arvid Norberg e9459b4df8 rss fixes 2011-03-23 02:46:22 +00:00
Arvid Norberg 283b34c439 improve torrent file ordering optimization 2011-03-22 02:27:54 +00:00
Arvid Norberg d3f0875ed5 fixed division by zero 2011-03-21 08:19:00 +00:00
Arvid Norberg aabb862400 fixed windows build 2011-03-21 06:31:48 +00:00
Arvid Norberg 54dd2a06f5 add rss support to client_test 2011-03-21 04:59:45 +00:00
Arvid Norberg 16114ab27c fixed redirect bug in http connection 2011-03-21 02:11:39 +00:00
Arvid Norberg 2dfd1a972b prevent read jobs from starving in the disk I/O thread 2011-03-20 19:17:59 +00:00
Arvid Norberg 4a40a13a6c lower disk write queue limit for high performance preset 2011-03-20 19:04:37 +00:00
Arvid Norberg 836de5d338 fixed infinite loop when using avoid_readback cache eviction algorithm 2011-03-20 17:08:18 +00:00
Arvid Norberg 3d63cb98b7 log read job queue size 2011-03-20 09:04:03 +00:00
Arvid Norberg 5c26294c29 fixed typo 2011-03-20 08:29:18 +00:00
Arvid Norberg 2525b8b457 sorting counts as job time in disk I/O thread timing 2011-03-20 07:44:25 +00:00
Arvid Norberg 54435a73b8 optimization for kick-starting sockets to download again after having been blocked by the disk 2011-03-20 07:43:57 +00:00
Arvid Norberg c1620de8d8 sorting needs to count as part of the disk job to get proper proportions of disk thread time metrics 2011-03-20 06:37:19 +00:00
Arvid Norberg e4df633157 added another disk cache flush algorithm to minimize readback when hashing pieces 2011-03-20 05:47:27 +00:00
Arvid Norberg 11e5e2539a fixed crash when setting cache_buffer_chunk_size to 0 2011-03-20 04:56:20 +00:00
Arvid Norberg 1b6227ad31 report disk read-back when verifying piece hashes 2011-03-20 01:19:14 +00:00
Arvid Norberg afc9806319 hash timing change 2011-03-19 22:52:29 +00:00
Arvid Norberg c015e28792 more disk thread timing 2011-03-19 22:23:58 +00:00
Arvid Norberg a6745558e7 log max queue size and low watermark 2011-03-18 05:49:31 +00:00
Arvid Norberg 68c3faaad1 fixed bug in disk job timer 2011-03-18 03:52:25 +00:00
Arvid Norberg 782bc974a1 log average disk job time instead of cache time 2011-03-18 03:07:10 +00:00
Arvid Norberg 3734ccae24 lower disk queue size for high-performance-seed preset 2011-03-17 14:14:29 +00:00
Arvid Norberg 0b25b87593 add a bunch more stats logged to session stats 2011-03-17 05:31:06 +00:00
Arvid Norberg 057dab11e0 fix bug in recent performance warning 2011-03-17 04:56:02 +00:00
Arvid Norberg 6db11079c8 add performance warning when disk write queue exceeds half of the write cache size 2011-03-16 07:45:51 +00:00
Arvid Norberg 7e3f69ecbf optimized disk cache flushing a bit 2011-03-16 07:21:58 +00:00
Arvid Norberg 2f7dea83ee update high_performance_seed preset 2011-03-15 07:47:03 +00:00
Arvid Norberg 5e273aff34 fix bug in read cache expiration logic 2011-03-15 02:54:41 +00:00
Arvid Norberg d6fbff13df measure disk sort time (phys_offset) 2011-03-15 02:21:28 +00:00
Arvid Norberg f9f5e3138c fix suggest piece bug 2011-03-15 01:58:48 +00:00
Arvid Norberg 7dde47b98a measure disk cache flush times 2011-03-15 01:44:32 +00:00
Arvid Norberg 9812626cf0 make DHT rate limit configurable 2011-03-14 07:47:24 +00:00
Arvid Norberg bf842f8120 fixed typo 2011-03-14 05:46:20 +00:00
Arvid Norberg a08bcf7459 change semantics of disk read time and add disk hash time 2011-03-14 05:21:46 +00:00
Arvid Norberg ff7bbc6cd0 log disk cache in session stats 2011-03-14 03:35:18 +00:00
Arvid Norberg 27c1bc632d introduced pop_alerts() which pops the entire alert queue in a single call 2011-03-14 02:59:46 +00:00
Arvid Norberg a18f047311 minor storage fix 2011-03-13 21:07:46 +00:00
Arvid Norberg 7eeafd2bac log number of torrents with errors in stats logger 2011-03-13 19:06:19 +00:00
Arvid Norberg be4f593ddf fix warning 2011-03-13 08:07:33 +00:00
Arvid Norberg 962bb30835 update high-performace-seed settings preset 2011-03-13 04:46:33 +00:00
Arvid Norberg c21100a9a5 log failed and redundant bytes 2011-03-13 04:34:57 +00:00
Arvid Norberg ca4a053d1a add written disk blocks to session stats 2011-03-12 21:41:05 +00:00
Arvid Norberg 03a7442532 add disk cache stats to session stats 2011-03-11 07:37:12 +00:00
Arvid Norberg 44fe8c160a fix no-exceptions build 2011-03-10 05:01:36 +00:00
Arvid Norberg 0d300cd09a fixed test build and some clang warnings 2011-03-09 07:51:04 +00:00
Arvid Norberg caf3ee350b shuffle around session member functions 2011-03-09 02:34:13 +00:00
Arvid Norberg 5431d86779 no need to close and re-open the listen socket when starting the DHT. Report the actual port we ended up listening on if the system chose one. don't try to listen on i2p 2011-03-07 07:02:30 +00:00
Arvid Norberg 9ecfbd17e6 prioritize trackers after adding the initial tracker 2011-03-07 03:51:52 +00:00
Arvid Norberg 5ea62910ba fixed inverse logic for ip filter exemption 2011-03-07 01:20:23 +00:00
Arvid Norberg f90f9f6609 fixed alert queue size limit bug when restoring setting from session state 2011-03-07 00:36:51 +00:00
Arvid Norberg b215c0c5e6 fix for incoming connections with torrents exempted from ip filter 2011-03-06 20:38:24 +00:00
Arvid Norberg 019b682cf9 fixed logging build 2011-03-04 07:00:27 +00:00
Arvid Norberg 9d0b99480b fix ip filter exemption for trackers. also add a global setting to always exempt trackers 2011-03-04 06:55:39 +00:00
Arvid Norberg cefc97597d improve error reporting for save resume data for torrents with no metadata 2011-03-04 06:17:55 +00:00
Arvid Norberg a0b6085530 re-evaluate auto managed torrents soon after adding a new auto-managed torrent 2011-03-04 06:03:45 +00:00
Arvid Norberg 2bdfea4248 fix count for non-ip-filtered torrents 2011-03-03 03:57:47 +00:00
Arvid Norberg 0aff6803fb fix to IP filter exemptions 2011-03-02 17:37:10 +00:00
Arvid Norberg 209bee16bf choker fix. some logic had made it into the bittyrant choker that would never be used 2011-03-02 07:26:09 +00:00
Arvid Norberg 83e8700615 minor fixes 2011-03-01 21:57:03 +00:00
Arvid Norberg 08c93978a6 clean up some dead code and fix windows build 2011-02-28 00:35:58 +00:00
Arvid Norberg c15880be91 support having torrents that the IP filter doesn't apply to 2011-02-27 17:26:57 +00:00
Arvid Norberg 8c2d496992 added new option 'always_send_user_agent' 2011-02-26 18:17:55 +00:00
Arvid Norberg 12caf7ff2e fix random.cpp build errors on non C99 compilers 2011-02-26 18:15:31 +00:00
Arvid Norberg 3b68fb2a03 add missing files 2011-02-26 17:59:34 +00:00
Arvid Norberg 19e268bbe5 fixed line endings 2011-02-26 07:56:20 +00:00
Arvid Norberg ab3b82b8ee replaced std::rand() with custom random generator 2011-02-26 07:55:51 +00:00
Arvid Norberg 7288f77ec9 support saving metadata in resume file, enable it by default for magnet links 2011-02-26 07:48:05 +00:00
Arvid Norberg 56937edf56 cleaned up some exception handling and introduced macros like BOOST_TRY/BOOST_CATCH to make the optional exception handling nicer 2011-02-25 17:00:36 +00:00
Arvid Norberg 5f5ba94462 cleared some variables in constructors and got rid of an unnecessary constructor 2011-02-25 04:28:32 +00:00
Arvid Norberg f7576714bf fixed some build warnings 2011-02-24 18:47:02 +00:00
Arvid Norberg 47822c27fe fixed typo in storage 2011-02-24 18:01:32 +00:00
Arvid Norberg ca106ca4e0 some warning fixes and cleanup 2011-02-24 04:25:35 +00:00
Arvid Norberg 8293543862 fix iterator bug in dht rss items 2011-02-24 03:22:24 +00:00
Arvid Norberg 5412c62b1f fix tracker URL decoding when adding magnet links 2011-02-23 16:47:18 +00:00
Arvid Norberg 118a75ebe7 generalized string conversion for libc 2011-02-22 03:09:13 +00:00
Arvid Norberg 97a40a45cd fully support unbuffered I/O 2011-02-22 02:53:26 +00:00
Arvid Norberg f22cf00aa4 add comments to the pad file logic 2011-02-21 06:57:03 +00:00
Arvid Norberg 56bc861455 fixed typo 2011-02-21 05:28:43 +00:00