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
arvidn
2efb9d9a6a
fix bug in receive_buffer
2016-03-05 00:13:59 -05:00
Arvid Norberg
be17b78c5f
Merge pull request #522 from arvidn/io-thread-assert-1.1
...
remove invalid assert in the disk thread
2016-03-04 23:16:02 -05:00