Commit Graph

5537 Commits

Author SHA1 Message Date
arvidn 3c98868f6c deprecate explicit cache feature 2016-03-18 12:15:03 -04:00
arvidn 1cd5119178 remove/deprecate bad idea with mlock 2016-03-17 19:37:05 -04:00
arvidn 317eb2fe2a remove unused disk allocation code 2016-03-16 20:13:28 -04:00
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
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
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
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
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 58e73c1469 fix typo 2016-03-13 20:47:50 -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
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
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
arvidn 71e3fb8941 fix division by zero in super-seeding logic 2016-03-07 23:40:01 -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
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
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 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
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
arvidn 2bd6ad9974 remove invalid assert in the disk thread 2016-03-04 20:20:49 -05:00
Arvid Norberg 00f3406402 Merge pull request #514 from arvidn/allowed-unchoke-1.1
attempt to uphold the invariant that the num_unchoke_slots
2016-03-04 16:43:38 -05:00
arvidn b707a4de90 uphold the invariant that the num_unchoke_slots counter is int max as long as the unchoke slots limit < 0 2016-03-04 16:42:36 -05:00
Alden Torres 4998bfedc6 Documentation typos 2016-03-04 10:43:25 -05:00
arvidn b9ec183e24 increase default connect speed. minor cleanup. add logging for short lived connections 2016-03-03 01:20:15 -05:00
arvidn fbef47d3ec fix edge case in uTP stream when receiving a close-reason code 2016-03-02 22:30:02 -05:00
arvidn e851b79865 fix issue when shutting down a torrent with outstanding async operations 2016-03-02 01:16:08 -05:00
arvidn aeb9f1c5dd fix bug in enum_net_interfaces 2016-02-29 18:14:10 -05:00
arvidn 2b6fdc1728 attempt to fix issue where the partfile is not deleted when asking to delete all files 2016-02-28 16:05:13 -05:00
arvidn f563bf9cac attempt to make the alert type backwards compatible with cloning the state when building with deprecated functions enabled 2016-02-27 20:25:17 -05:00
arvidn ac2916c426 enable disk cache pool allocator by default. fix ansi escape code conversion in client_test on windows 2016-02-27 17:42:31 -05:00
arvidn 07ecf7c1bd remove invalid assert 2016-02-27 00:25:21 -05:00
Steven Siloti b52027a02a set enable_dht to true in session::start_dht(entry)
This function needs to enable the dht to match its semantics in pre 1.1 versions
2016-02-26 19:22:28 -08:00
Arvid Norberg 842d6fbca4 Merge pull request #492 from arvidn/fix-ssl-deprecated-1.1
fix build with openssl and deprecated functions disabled
2016-02-24 21:18:43 -05:00
arvidn d4f259ccf0 attempt to fix race when closing a web seed while it's receiving data 2016-02-24 02:23:09 -05:00
arvidn e5ccb63375 fix build with openssl and deprecated functions disabled 2016-02-24 02:07:27 -05:00
arvidn dcd6af6473 more fixing of test_transfer proxy tests 2016-02-24 00:03:56 -05:00
arvidn 57aa813135 fix auto-managed issue with torrents transitioning to 'slow' as they get paused, returning to life again later because of it 2016-02-23 01:28:58 -05:00
arvidn 72a3771b87 attempt to fix logic around around actually closing udp sockets (specifically the SSL UDP socket) 2016-02-21 20:00:55 -05:00
arvidn d8b88ba381 include protocol in portmap_alert 2016-02-21 19:16:00 -05:00
arvidn 61a67ece4a fix non-openssl build 2016-02-21 18:40:06 -05:00
arvidn cdfdbfd6aa fix port mapping for SSL UDP socket 2016-02-21 17:40:27 -05:00
arvidn 13e9eb6680 forward-port outgoing interface fix from RC_1_0 2016-02-20 20:35:52 -05:00
Arvid Norberg 5d18800e04 Merge pull request #486 from arvidn/force-recheck-1.1
make force recheck a bit more robust
2016-02-20 19:53:56 -05:00
arvidn 3231aa4c9d make force recheck a bit more robust by initializing the progress state immediately 2016-02-20 15:53:43 -05:00
arvidn 3f40890eb6 simplify logic for saving resume a bit 2016-02-20 15:45:46 -05:00
arvidn 5cf36fd1d6 only save pieces in resume data that have actually been checked 2016-02-20 00:48:17 -05:00
arvidn 828e79472d forward port enum_net MTU fix 2016-02-11 00:46:28 -05:00
Arvid Norberg 7d8566f694 Merge pull request #473 from arvidn/bind-ssl-fix-1.1
fix issue in socket binding and back-port ssl test reliability fix
2016-02-10 19:47:34 -05:00
arvidn ee14337894 revert listen_failed_alert::port 2016-02-10 18:28:34 -05:00
arvidn ceb0ac6148 fix issue in socket binding and back-port ssl test reliability fix 2016-02-10 02:09:12 -05:00
arvidn 44abd1a59b forward port fix to post torrent_added_alert earlier, from RC_1_0 2016-02-08 15:28:13 -05:00
arvidn dd48faa8d4 minor debug logging issue in test facility wait-for-alert and fix minor shutdown issue with udp_socket packet subscription 2016-02-08 02:05:00 -05:00
Arvid Norberg 7b1a8ff6f1 Merge pull request #465 from arvidn/got-tracker-1.1
removed unused field in torrent
2016-02-07 14:50:08 -05:00
arvidn f4627db97f removed unused field in torrent 2016-02-07 02:37:32 -05:00
arvidn f8a53d17ec un-deprecate the endpoint field in listen_failed_alert 2016-02-07 02:12:58 -05:00
arvidn df353bc3f9 forward port typo fix in udp_socket from RC_1_0 2016-02-06 15:49:25 -05:00
arvidn 74554de330 forward port GetAdaptersAddresses from RC_1_0 and fix error categories in enum_net.cpp 2016-02-05 01:08:09 -05:00
arvidn b0cc0f84ab support NULL being passed as the listen interface to session constructor 2016-02-02 23:17:51 -05:00
arvidn 0f747695b7 fix error handling bug in logging 2016-02-02 01:57:56 -05:00
arvidn e3fc6083bb fix typo in listen_failed_alert 2016-02-01 20:53:58 -05:00
arvidn 88b7e3768f add sim test for optimistic unchoke round-robin distribution 2016-02-01 20:28:30 -05:00
arvidn f2ce2284da optimize the optimistic unchoke logic. extend the API for extensions to be able to affect the order of optimistic unchokes 2016-02-01 20:28:22 -05:00
Arvid Norberg 764c8a7f0c Merge pull request #446 from arvidn/default-gateway-fix-1.1
forward port removal of special case for windows and mingw-1.1
2016-02-01 01:50:28 -05:00
arvidn 55024ccc4b forward port removal of special case for windows and mingw in get_default_gateway that appeared wrong 2016-01-31 21:14:15 -05:00
arvidn e113e8cdf3 minor cleanup of listen sockets 2016-01-31 19:40:31 -05:00
arvidn e584c30b29 forward-port reuse address patch for windows 2016-01-31 18:16:26 -05:00
arvidn acd929381e restore the endpoint field in listen_failed_alert (but deprecated) and add a port field 2016-01-31 10:20:10 -05:00
arvidn efe32c6a0e rewrite most of web_peer_connection::on_receive to make it a lot simpler and fix edge cases with pad-files 2016-01-28 01:58:33 -05:00
arvidn f31d17c9c5 allow specifying which tracker to scrape in torrent_hadnle::scrape_tracker 2016-01-26 18:14:32 -05:00
arvidn 73289cb8ae fix use of uninitialized variables in default_storage 2016-01-25 19:11:57 -05:00
Alden Torres f71d775238 Allow xp compilation with the use GetFileInformationByHandleEx. 2016-01-25 12:22:33 -05:00
Steven Siloti 21feab838d Enable SNI for outgoing SSL connections
Fixes #429
2016-01-24 12:24:33 -08:00
arvidn 2a0e64df46 add run-time check to file_storage::map_block and improve its documentation 2016-01-22 17:17:35 -05:00
Alden Torres 5c94b286b0 Removed file::m_path windows specific field
Removed default_storage::sparse_end
Typos
2016-01-21 12:11:33 -05:00
Alden Torres 218d33c545 Documentation typos and minor cleanup 2016-01-20 20:48:23 -05:00
arvidn fbb246094b fix windows build 2016-01-19 21:21:00 -05:00
arvidn 2fa84b3aa5 fix incorrect use of WaitForMultipleObjects 2016-01-19 18:47:21 -05:00
arvidn 784f8806a4 fix asio debugging feature 2016-01-18 23:13:50 -05:00
arvidn 595fe157a9 fix shutdown issue 2016-01-18 20:48:27 -05:00
arvidn 4cbbb0620e only strip trailing dots and spaces from filenames on windows 2016-01-18 13:07:04 -05:00
arvidn 1f9f588e75 merge copyright year update and changelog from RC_1_0 2016-01-17 18:57:46 -05:00
Arvid Norberg fa391d4961 Merge pull request #394 from arvidn/forward-port-http-fix
forward port fix for web seeds not being used by torrents added by URL
2016-01-17 17:47:25 -05:00
arvidn 0c971d0d62 forward port fix for web seeds not being used by torrents added by URL 2016-01-16 23:57:33 -05:00