Commit Graph

8905 Commits

Author SHA1 Message Date
Arvid Norberg a1d60db706 Merge pull request #547 from arvidn/no-read-cache-1.1
fix use_read_cache=false
2016-03-16 08:14:15 -04:00
Arvid Norberg 4343bb911c Merge pull request #545 from arvidn/zero-cache-perf-1.1
allow each peer have at least 2 allocated disk blocks at any given time
2016-03-16 08:14:02 -04:00
arvidn 4926081960 fix use_read_cache=false 2016-03-16 02:22:18 -04:00
arvidn 36d0cfe40d fix shutdown issue caused by peer connections being kept alive by disk buffer pool callbacks 2016-03-16 00:28:19 -04:00
arvidn 08bac479be allow each peer have at least 2 allocated disk blocks at any given time, to avoid stalling when cache_size setting is small. also deprecate use_write_cache 2016-03-16 00:28:11 -04:00
Arvid Norberg 6ba5cb7826 Merge pull request #536 from ssiloti/always-cache-writes-1.1
Always cache writes
2016-03-15 01:49:16 -04:00
Steven Siloti 4331f57021 restrict check_cache_level to only runing on one thread at a time
If another thread trys to call check_cache_level then m_cache_check_state is set
to indicate that the thread currently in check_cache_level needs to call it again.
2016-03-14 19:03:12 -07:00
Steven Siloti d405535a3f try to free the piece after kicking the hasher and flushing 2016-03-14 19:03:12 -07:00
Steven Siloti e8f93df700 fix indentation 2016-03-14 19:03:12 -07:00
Steven Siloti 826bbe35ee always cache writes 2016-03-14 19:03:12 -07:00
Steven Siloti 6e8db41dd2 check_cache_level after performing a job rather than before
If dirty blocks are added while the job is running there is a chance of
deadlock if the dirty blocks cause the cache to exceed its size limit and
no further jobs come in to trigger another check.
2016-03-14 19:03:12 -07:00
Steven Siloti 9c5bb25d65 always clear outstanding_flush after attempting to flush a cached write
Also clear outstanding_flush before calling kick_hasher because kick_hasher
may unlock the cache mutex which can allow more dirty blocks to be added
which may require another flush_hashed job be added.
2016-03-14 19:03:12 -07:00
Arvid Norberg 82d177472e Merge pull request #541 from arvidn/fix-test-transfer-1.1
improve message from listen_failed_alert
2016-03-14 21:43:34 -04:00
Arvid Norberg 48df15c753 Merge pull request #544 from aldenml/typos
Documentation typos
2016-03-14 21:04:47 -04:00
Alden Torres 303074e159 Documentation typos 2016-03-14 20:43:52 -04:00
arvidn c5861bcc04 fix failure to increment port when retrying socket binding 2016-03-14 18:52:43 -04:00
Arvid Norberg 42d423e992 Merge pull request #540 from arvidn/remove-purgable-control-1.1
remove the purgable control patch
2016-03-14 17:54:12 -04:00
Arvid Norberg beab2ec666 Merge pull request #537 from arvidn/remove-partfile-1.1
add option to remove partfile 1.1
2016-03-14 08:27:31 -04:00
arvidn 921cbeebed add option to delete just the partfile when removing a torrent 2016-03-14 08:26:39 -04:00
arvidn 55cd19d1e2 remove the purgable control patch. It adds a lot of complexity and it does not perform well 2016-03-14 01:48:00 -04:00
Arvid Norberg 035f8e98d1 Merge pull request #542 from arvidn/request-timeout-1.1
fix seed timing-out unchoked peers for not sending requests
2016-03-14 01:44:50 -04:00
arvidn 0b4339064f extend timeouts 2016-03-13 23:13:12 -04:00
arvidn 58e73c1469 fix typo 2016-03-13 20:47:50 -04:00
Arvid Norberg 1a6e226dc1 Merge pull request #539 from arvidn/piece-matrix-1.1
Piece matrix 1.1
2016-03-13 19:14:05 -04:00
arvidn c9c401d15c add piece matrix to client_test 2016-03-13 19:13:38 -04:00
Arvid Norberg 5652a46068 Merge pull request #508 from arvidn/part-file-1.1
attempt to fix issue where the partfile is not deleted
2016-03-13 18:05:01 -04:00
arvidn 8f14c74be8 fix issue where a seed could time-out an unchoked peer for not sending any requests, despite being busy servicing requests from the peer (and time out immediately when m_requests is drained) 2016-03-13 16:41:31 -04:00
arvidn fb85e5e60f improve message from listen_failed_alert. Post listen_failed_alert for every failure, including the ones that are re-tried 2016-03-13 16:18:44 -04:00
Arvid Norberg 108dfacd4d Merge pull request #529 from arvidn/evict-volatile-1.1
try to evict a volatile piece before allocating a new one for a hash check
2016-03-13 12:53:11 -04:00
arvidn 0d0048d415 try to evict a volatile piece before allocating a new one for a hash check. It may be faster to check files without growing the cache, or reusing the same buffers. 2016-03-13 12:52:44 -04:00
Arvid Norberg d059ac563d Merge pull request #532 from arvidn/utp-mtu-1.1
improve robustness and performance of uTP PMTU discovery
2016-03-13 12:43:29 -04:00
arvidn 2178d1ad2b improve robustness and performance of uTP PMTU discovery. fix duplicate ACK issue in uTP. demote an invariant check to 'expensive' 2016-03-13 12:40:59 -04:00
Arvid Norberg f38d384c3f Merge pull request #535 from MikaelSmith/fix-cmake
Add read_resume_data to CMakeLists.txt, fix building examples
2016-03-12 21:25:00 -05:00
Michael Smith 7657373fe3 Fix building examples
Add finding OpenSSL for examples (on Mac it's common for OpenSSL
installed via Homebrew to not be on normal paths, so find it via
CMAKE_PREFIX_PATH). Also make the example cmake helper script
executable.
2016-03-12 15:09:03 -08:00
Michael Smith 9b8b6b6c46 Add read_resume_data to CMakeLists.txt
Without read_resume_data, builds fail with CMake due to a missing
dependency.
2016-03-12 14:57:56 -08:00
arvidn 6d85c7c5f0 merge RC_1_1 into master 2016-03-08 01:10:48 -05:00
arvidn 71e3fb8941 fix division by zero in super-seeding logic 2016-03-07 23:40:01 -05:00
Arvid Norberg 2e66708273 Merge pull request #528 from arvidn/checking-cache-1.1
fix bug where disk cache was wiped out after completion file-checking
2016-03-07 01:00:12 -05:00
arvidn f5d5ac4f3a fix bug where disk cache was wiped out after completion file-checking. factor out sim test utilities and reuse them in the regression test 2016-03-06 21:44:38 -05:00
Arvid Norberg 3fa3004b85 Merge pull request #526 from arvidn/rechecking-outstanding-1.1
always keep at least 2 async hash jobs outstanding
2016-03-06 20:05:56 -05:00
Arvid Norberg 5efc625015 Merge pull request #525 from arvidn/load-state-1.1
support filtering which parts of session state are loaded
2016-03-06 16:36:57 -05:00
arvidn 442979c318 support filtering which parts of session state are loaded by load_state() 2016-03-06 16:35:49 -05:00
arvidn 67774d660d always keep at least 2 async hash jobs outstanding when rechecking torrents (to keep the bandwidth delay product full) 2016-03-06 16:31:18 -05:00
Arvid Norberg 834d04efdc Merge pull request #523 from arvidn/disk-cache-1.1
fix support for auto disk cache size
2016-03-06 16:16:17 -05:00
arvidn b40430f175 change the cache size calculation for auto cache size (-1) to be smaller, especially for machines with large amounts of RAM 2016-03-06 16:15:22 -05:00
arvidn adf56344e6 add interactive option to toggle use of disk cache to client_test 2016-03-06 16:15:17 -05:00
arvidn a02c1d2164 record cache settings in the job instead of checking it twice for more robust behavior 2016-03-06 16:15:13 -05:00
arvidn 8ca76f9d59 fix support for auto disk cache size and disk buffer pool allocator behavior 2016-03-06 16:14:55 -05:00
Arvid Norberg 5febe36106 Merge pull request #517 from arvidn/receive-buffer-fix-1.1
fix bug in receive_buffer
2016-03-05 00:14:32 -05:00
arvidn 26f88bb12d add receive_buffer unit test and some more cleanup and asserts 2016-03-05 00:14:00 -05:00