Commit Graph

1268 Commits

Author SHA1 Message Date
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
Arvid Norberg 981ae208d1 exception fixes 2009-04-07 15:06:07 +00:00
Arvid Norberg 970ab50e57 snprintf fix 2009-04-07 01:14:12 +00:00
Arvid Norberg 426e653213 defines for snprintf and strtoll for windows 2009-04-06 17:15:19 +00:00
Arvid Norberg 2bb1772299 time_duration fix (works with boost.date-time again) 2009-04-06 17:12:14 +00:00
Arvid Norberg 40c6db3c52 debug define fix in piece_picker 2009-04-04 21:50:36 +00:00
Arvid Norberg 2b671bc820 more iostream fixes 2009-04-04 21:44:04 +00:00
Arvid Norberg b5bb51c6af cut out more IPv6 code if not supported 2009-04-04 16:59:53 +00:00
Arvid Norberg aba5b2e9d0 dropped some iostream dependencies 2009-04-04 09:52:25 +00:00
Arvid Norberg 3cd26dec64 compile time options to use readv/writev or not 2009-04-04 08:23:53 +00:00
Arvid Norberg db8487be46 auto unchoke improvement 2009-04-04 07:55:34 +00:00
Arvid Norberg e3eb59f477 fixed leaking exception from bdecode on malformed input. Fixes #492 2009-04-01 03:37:54 +00:00
Arvid Norberg 91ba36a396 added compile time option for mlock support 2009-03-31 08:15:21 +00:00
Arvid Norberg 982cf7f7f7 improved support for platforms with no wchar_t and std::wstring 2009-03-31 08:12:35 +00:00
Arvid Norberg c6017f9366 reverted bug introduced a few check-ins ago. Fixed case when recursive_copy fails (don't remove the original files). Cleaned up callback dispatching in disk_io_thread in trunk. Improved unit tests for move_storage 2009-03-31 08:05:46 +00:00
Arvid Norberg 0070232f7c attempt to fix #493 by keeping io_service running while there are still peer connections 2009-03-31 08:02:25 +00:00
Arvid Norberg 1a6d2f86b9 add compile time option to disable IPv6 support 2009-03-31 07:45:54 +00:00
Arvid Norberg 9c4c49c443 logging build fix and indentation fix 2009-03-27 17:14:15 +00:00
Arvid Norberg 1ed7e222f8 added documentation to explain how paused and auto_managed are overridden by resume_data. Added a mechanism to trunk to ignore the resume data for those two settings. Updated documentation in trunk to include more fields in the resume data. Fixed broken links in the trunk docs 2009-03-21 04:33:53 +00:00
Arvid Norberg 907532be8e bumped version number to 0.14.3 and updated set_version.py 2009-03-20 07:38:47 +00:00
Arvid Norberg cc432a8cd8 added error handling for set_piece_hashes 2009-03-19 17:32:40 +00:00
Arvid Norberg 31054ef069 first implementation of set_piece_deadline 2009-03-17 09:34:44 +00:00
Arvid Norberg 233258502c fixed bug in time_duration operator* 2009-03-16 03:36:20 +00:00
Arvid Norberg e2ac32e7cf remove unused members and fix warning 2009-03-14 09:25:26 +00:00
Arvid Norberg 84a513bffb initial support for merkle hash tree torrents 2009-03-13 06:09:39 +00:00
Arvid Norberg 0de21dc815 fixed bug related to ignoring upload slots and made the piece rejection code more robust to handle similar bugs better 2009-03-12 17:06:41 +00:00
Arvid Norberg de233c23a2 fix MinGW build issue on windows (IPV6_PROTECTION_LEVEL) 2009-03-08 02:16:35 +00:00
Arvid Norberg 6353b3c3e6 fixed boost-1.34.1 build 2009-03-06 08:57:00 +00:00
Arvid Norberg 93eda7c7fa fix ignore unchoke slot invariant check 2009-03-01 07:20:08 +00:00
Arvid Norberg b809028bda uses iconv by default on linux to convert filenames from utf-8 to the current locale 2009-03-01 00:02:33 +00:00
Arvid Norberg b84e87edf4 build fix 2009-02-27 07:03:00 +00:00
Arvid Norberg 7aacfca292 made the examples build without exception support. added overloads of add_torrent() and add_magnet_uri() that don't throw 2009-02-26 07:09:56 +00:00
Arvid Norberg f8e72650bd fixed #488 2009-02-25 05:53:24 +00:00
Arvid Norberg b25a8db2a6 added more error codes. consolidated exception classes into one. moved over more places to use error_code instead of strings. fixed proper error handling for torrent_info 2009-02-23 01:21:19 +00:00
Arvid Norberg 9edf2db4c3 memcpy/memset build issue in bitfield.hpp 2009-02-22 21:01:51 +00:00
Arvid Norberg b573b17725 windows boost-1.38 build fix 2009-02-21 10:23:25 +00:00
Arvid Norberg 95829383a8 alert improvements 2009-02-21 10:21:28 +00:00
Arvid Norberg afd04635e9 replaced std::isdigit with is_digit, to avoid asserts on windows and locale dependency. Fixes #484 2009-02-18 06:01:24 +00:00
Arvid Norberg 7fff6ace1b added download queue time estimate 2009-02-17 02:33:45 +00:00
Arvid Norberg 13ca386838 improved support for sparse files on windows 2009-02-17 00:11:38 +00:00
Arvid Norberg 9905f700ae prepare to take sparse regions into account when checking files 2009-02-14 04:31:08 +00:00
Arvid Norberg dc4d50b117 don't make files sparse when allocation mode is set on the storage (windows only) 2009-02-14 03:56:07 +00:00
Arvid Norberg 3187bd9905 moved some errors over to use error_code 2009-02-13 19:01:02 +00:00
Arvid Norberg 2a9605f9db the reserved bits are only 8 bytes 2009-02-13 07:17:20 +00:00
Arvid Norberg 0b1a0c5132 replaced dependency on locale dependent isspace 2009-02-10 07:21:28 +00:00
Arvid Norberg 41ff39605b removed unused member variable 2009-02-08 20:26:25 +00:00
Arvid Norberg ba0f894c7c avoid adding a torrent to the checking queue twice 2009-02-08 01:29:09 +00:00
Arvid Norberg 7744718b44 added error message to invalid_torrent_file exception (will be replaced by error_code at some point) 2009-02-07 19:18:48 +00:00
Arvid Norberg 5c12db28d2 added option to lock disk cache in physical memory 2009-02-06 09:46:13 +00:00
Arvid Norberg 7607286f50 fixing bug where the trailing bits in bitfields were not set to 0. Fixes #482 2009-02-06 08:51:25 +00:00
Arvid Norberg bcd93da465 fixed encryption asserts 2009-02-04 05:51:00 +00:00
Arvid Norberg 1ac8f806fa added seed mode support (lazy hash checking) 2009-02-03 07:46:24 +00:00
Arvid Norberg 2623037482 local peers are excempt from unchoke slots. #469 2009-01-28 06:14:21 +00:00
Arvid Norberg 8bcdb333e0 fix typo in comment 2009-01-28 05:19:19 +00:00
Arvid Norberg b245d45570 fixed encryption bug 2009-01-28 04:20:05 +00:00
Arvid Norberg 0ba2e2cdbd fixed issue where torrents that failed checking would not resume checking when the error was cleared. One side effect of this fix is that it should now be possible to pause checking torrents with the 0.14 branch 2009-01-27 09:18:51 +00:00
Arvid Norberg 3cdf9c87a8 fixed build errors on Solaris 2009-01-27 08:24:48 +00:00