Commit Graph

1324 Commits

Author SHA1 Message Date
Arvid Norberg 7328b30517 fixed potential deadlock in natpmp and upnp 2009-06-13 08:04:53 +00:00
Arvid Norberg 2da772210c fix to make torrent_status::list_peers more accurate 2009-06-13 04:14:41 +00:00
Arvid Norberg 07bcb3545a converted a whole lot of error strings into error_codes. Documented some previously undocumented alerts as well as all the error codes 2009-06-12 16:40:38 +00:00
Arvid Norberg 5e87420b6f set all piece priorities to 0 when a write fails 2009-06-10 09:20:55 +00:00
Arvid Norberg f0134c1b11 improved disk error handling and expanded use of error_code in error reporting 2009-06-10 08:30:55 +00:00
Arvid Norberg f57703ded0 fixed inconsistent use of preprocessor macro for entry::print 2009-06-09 22:02:02 +00:00
Arvid Norberg 92a541035e fixed inconsistent build requirement around entry::print() 2009-06-09 05:56:18 +00:00
Arvid Norberg 33768fa282 fixed deadlock in http_tracker_connection 2009-06-09 05:51:10 +00:00
Arvid Norberg c662f1c153 fix python bindings 2009-06-03 09:02:43 +00:00
Arvid Norberg a9a12a2391 fix build with boost-1.34.1 2009-06-03 07:22:43 +00:00
Arvid Norberg bd33814376 improve disk error handling 2009-05-31 22:41:53 +00:00
Arvid Norberg 0283f07aed more buffer categories to help debugging 2009-05-31 22:38:49 +00:00
Arvid Norberg b2c5d8a563 include the piece index that failed in disk errors 2009-05-31 19:44:56 +00:00
Arvid Norberg 9effe8a54a fixed deadlock in http_connection. added two error codes for that class. Added more documentation on error_code 2009-05-30 18:50:38 +00:00
Arvid Norberg 0c0a961719 remove iostream dependency 2009-05-30 02:37:11 +00:00
Arvid Norberg 27293215c7 remove iostream dependency 2009-05-30 02:36:57 +00:00
Arvid Norberg 9d76d0481e fixes tp typos in alert_types.hpp and windows fixes 2009-05-29 01:27:08 +00:00
Arvid Norberg 48e0e020a9 fix snprintf arguments in alert_types.hpp 2009-05-29 00:02:43 +00:00
Arvid Norberg d5c8cd5274 define WIN32_LEAN_AND_MEAN when including windows.h 2009-05-28 05:10:13 +00:00
Andrew Resch 6242ae051e added ability to give seeding torrents preference to active slots 2009-05-27 19:27:12 +00:00
Arvid Norberg efb6ec5824 fixed expensive-invariant-checks build 2009-05-25 17:23:03 +00:00
Daniel Wallin 757b0437e9 Don't construct a temporary peer just for searching. Clean up some duplicate code. 2009-05-25 10:15:35 +00:00
Arvid Norberg 0f6a89f0c0 fix warning 2009-05-25 09:32:50 +00:00
Arvid Norberg bb47b2924c fix coalesce reads and writes setting 2009-05-25 07:46:31 +00:00
Arvid Norberg 30c704523c caches the time every 100 ms and use the cache where high resolution timer is not needed 2009-05-25 02:45:51 +00:00
Daniel Wallin 68629eb6bc Split peer list into IPv4 and IPv6 peers. Saves 12 bytes per IPv4 peer. 2009-05-24 21:49:19 +00:00
Arvid Norberg 4f1618a796 fix release logging build 2009-05-24 20:34:02 +00:00
Arvid Norberg 7d32c3b2b0 fix missing boost:: qualifier 2009-05-24 19:38:27 +00:00
Arvid Norberg 2f627a4b00 attempt to mitigate read cache thrashing 2009-05-24 16:49:01 +00:00
Arvid Norberg 29d56f9a8b improved read cache memory utilization 2009-05-24 15:32:14 +00:00
Arvid Norberg a89d6cced1 clean up some disk cache duplication of logic and added another memory usage optimization for the write cache 2009-05-24 00:12:53 +00:00
Arvid Norberg e3c07c0934 converted some recursive mutexes to regular ones 2009-05-23 21:36:09 +00:00
Arvid Norberg ae8488fb91 improved read cache memory efficiency 2009-05-23 19:27:27 +00:00
Arvid Norberg e322b318ae improved handling of out-of-memory conditions in disk I/O thread 2009-05-23 18:39:55 +00:00
Arvid Norberg 5211badc1e fixed syntax error 2009-05-23 16:19:04 +00:00
Arvid Norberg f9c12ef589 added more disk io asserts 2009-05-23 15:50:38 +00:00
Arvid Norberg c1d9198dc3 added largest_contiguous cache flush algorithm 2009-05-23 07:35:45 +00:00
Arvid Norberg e36ea4ba5d added instrumentation for disk access. Useful to benchmark disk cache performance 2009-05-23 03:03:52 +00:00
Arvid Norberg 0127edac14 added disk-checking delay, to leave room for other disk operations while checking a torrent 2009-05-22 06:32:39 +00:00
Arvid Norberg cb9c3cb37d memory optimization for checking torrents 2009-05-21 16:15:05 +00:00
Daniel Wallin d74f6db11f Use a safer default handler storage size until we can figure out some
good platform specific defaults.
2009-05-21 11:51:52 +00:00
Daniel Wallin 6014ac1e7a Allocate memory for read/write handlers inplace inside peer_connection instance. 2009-05-20 08:57:08 +00:00
Arvid Norberg c047f66454 improved disk buffer logging and added extra asserts when logging disk buffer stats 2009-05-19 07:00:05 +00:00
Arvid Norberg a51dfa50f5 renamed peer_from_tracker to add_peer 2009-05-15 22:07:19 +00:00
Arvid Norberg 437cb94fd0 improved IPv6 support by announcing twice when necessary 2009-05-15 21:23:41 +00:00
Arvid Norberg 53f890608d use C99 string formatting macros for platform independence 2009-05-15 15:52:15 +00:00
Arvid Norberg 31c422df0a added feature to set a separate global rate limit for local peers 2009-05-14 17:21:19 +00:00
Arvid Norberg 0c3f9a7f88 lowered default setting for max peer list size 2009-05-13 22:19:25 +00:00
Arvid Norberg 00ccf9064e optimized memory usage in the DHT, and added some handling for out-of-memory cases 2009-05-13 22:18:41 +00:00
Arvid Norberg bdd7e21831 replace endpoint with address in DHT node ban list 2009-05-13 21:07:51 +00:00
cg25 1c75c260c3 fix include/Makefile.am as to not include socks4_stream.hpp (deleted in [3366]) 2009-05-13 20:43:40 +00:00
Arvid Norberg 062e1796c0 fixed crash when shutting down while checking a torrent 2009-05-13 17:17:33 +00:00
Arvid Norberg b7c5d2f12d add a separate setting for max peer list size for paused torrents 2009-05-13 01:34:10 +00:00
Arvid Norberg 8e3bd5154a removed iostream and boost-regex dependency in client_test 2009-05-13 01:02:06 +00:00
Arvid Norberg 85bf463e11 added session setting to control disk buffer pool allocation sizes 2009-05-12 18:52:05 +00:00
Arvid Norberg 649f95c932 added session_settings presets for low memory usage and seed box environments 2009-05-12 18:05:04 +00:00
Arvid Norberg d5164b1b1e fixed typo. made it possible to set max_outstanding_disk_bytes_per_connection to 0 2009-05-12 17:57:52 +00:00
Arvid Norberg 92f42eb23c fixed move_stororage to handle the case where it fails 2009-05-11 21:18:09 +00:00
Arvid Norberg 136f101449 when reaching peer list size limit, rank peers to be removed. Fix for updating IP filter 2009-05-11 20:23:47 +00:00
Arvid Norberg 9523d88909 made file_pool use std::map instead of multi-index, and use std::string::operator< instead of the quite inefficient filesystem::path::operator< 2009-05-09 21:11:25 +00:00
Arvid Norberg 1eb2799a03 added more allocation logging for statistics builds. Identified and fixed some memory waste 2009-05-07 20:30:20 +00:00
Arvid Norberg a961e253ef fix logging build 2009-05-07 16:30:14 +00:00
Arvid Norberg 838df44184 documented file_rename_failed_alert and file_renamed_alert. they were previously not documented. Fixed bug where the storage would be left in an error state (and eventually pause the torrent) when a rename_file() failed. The error is now only reported back through the alert 2009-05-07 06:41:41 +00:00
Arvid Norberg c8176cca55 optimized peer storage in resume data an in memory. Should use far less memory than previously for the peer list. Introduced peer source affinity, to avoid problem with a peer list that's diluted with stale peers 2009-05-06 22:36:24 +00:00
Arvid Norberg ff3db926fb allocates 10 disk buffers at a time instead of 32. Fixed bug where connection candidates would be too high 2009-05-06 07:06:26 +00:00
Arvid Norberg 41a9b88189 increase buffer size for tracker error messages. Fix snprintf on windows 2009-05-06 00:52:33 +00:00
Arvid Norberg cf6dc377c9 define fixes for disk stats build configurations 2009-05-04 06:42:24 +00:00
Arvid Norberg 89ac9916d7 replaced std::set with std::vector for accept fast piece list 2009-05-04 00:08:00 +00:00
Arvid Norberg 641abc6c4a slight memory optimization and some header cleanup 2009-05-03 20:21:24 +00:00
Arvid Norberg f2ec6b5adb added option to use a single block buffer when hashing, instead of for the entire piece 2009-05-03 19:09:06 +00:00
Arvid Norberg d73c97e444 made get_download_queue() use considerably less memory and scale with larger piece_sizes 2009-05-03 09:45:07 +00:00
Arvid Norberg c71100950b fix to recalculate_connect_candidates 2009-05-03 06:57:04 +00:00
Arvid Norberg 807c1fc397 added validation check to disk_buffer_pool (and disk_io_thread in 0.14). This should catch any reference to the disk_io_thread after it has been destructed 2009-05-03 03:16:15 +00:00
Arvid Norberg b75648445e fixed magnet link parser to accept hex encoded info-hashes 2009-05-02 18:36:51 +00:00
Arvid Norberg e4ddb13b6f made the cache_size setting include send and receive buffers 2009-05-02 06:52:57 +00:00
Arvid Norberg 06b609aa1f fixed unchoke bug. made the automatic unchoke strategy the default 2009-05-02 03:15:52 +00:00
Arvid Norberg e929c58e9f fixed bug in ratelimiter's outstanding bytes counter 2009-05-01 09:42:43 +00:00
Arvid Norberg 033fd5bd22 count send and receive buffers against the cache size limit 2009-05-01 08:00:58 +00:00
Arvid Norberg 84dda7b617 support for adjusting the socket buffer sizes through session_settings 2009-05-01 04:59:15 +00:00
Arvid Norberg 6ca1c191b6 some windows fixes for dynamic linking 2009-04-30 17:30:14 +00:00
Arvid Norberg 3cf34e3a91 greatly optimised memory usage for peer list 2009-04-30 05:49:46 +00:00
Arvid Norberg dce0e1bb58 fixed disk stat build 2009-04-30 01:42:30 +00:00
Arvid Norberg 12dd8a8723 build windows python bindings with geoip support. fixes some warnings in msvc 2009-04-26 21:21:31 +00:00
Arvid Norberg 7109b86566 greatly simplified the rate limiter and generalized all rate limits (peer, torrent, global) to allow for arbitrary rate limit configurations 2009-04-26 00:21:59 +00:00
Arvid Norberg f7ebd88bec fixed an accuracy issue with timer classes on mac 2009-04-25 21:51:34 +00:00
Arvid Norberg fba4ae541c fixed invalid iterator access in debug mode 2009-04-25 08:19:21 +00:00
Arvid Norberg 4724051841 fixed assert in udp_socket 2009-04-13 17:52:45 +00:00
Arvid Norberg c6f4879e06 fixed race condition in bandwidth manager 2009-04-13 16:31:22 +00:00
Arvid Norberg cf2654ba00 exit before invariant check if we're aborting, in bandwidth_manager 2009-04-13 06:07:16 +00:00
Arvid Norberg 189d618261 improved IPv6 support (skips unsupported tests on windows) 2009-04-13 05:11:44 +00:00
Arvid Norberg 32a42bae99 removed some dependencies on stringstream 2009-04-13 04:22:03 +00:00
Arvid Norberg f6c97254e1 gzip.hpp fix 2009-04-13 02:00:33 +00:00
Arvid Norberg 066d6ce799 moved content-range parsing into http_parser and added unittest 2009-04-12 17:52:25 +00:00
Arvid Norberg 6a11d6ee4e IPv6 tracker fix 2009-04-12 00:37:06 +00:00
Arvid Norberg 90ce06bb47 web seed fix 2009-04-11 20:45:14 +00:00
Arvid Norberg a051228069 fixed bug in storage when forcing recheck while renaming a file or moving it 2009-04-10 07:22:27 +00:00
Arvid Norberg 7538b3da82 fixed string formatting bug 2009-04-09 15:45:17 +00:00
Arvid Norberg 41be942ae7 experimental support for incoming connections over socks (untested) 2009-04-09 01:04:49 +00:00
Arvid Norberg a956265be4 merged socks4 and socks5 code and improved SOCKS error messages 2009-04-08 04:18:45 +00:00
Arvid Norberg 1ed9e6d2f8 more C bindings and added getters for max_uploads on session and torrent 2009-04-07 15:55:05 +00:00