Commit Graph

3162 Commits

Author SHA1 Message Date
Arvid Norberg d301890d78 fixed edge case of pad file support 2010-12-13 16:47:12 +00:00
Arvid Norberg fbdf76cf5b fix DHT size estimation 2010-12-13 09:24:19 +00:00
Arvid Norberg 4fcfceb087 DHT optimizations and fixes. Fixed routing table bucket splitting 2010-12-12 20:36:42 +00:00
Arvid Norberg f64679c297 fixed build warnings 2010-12-12 19:40:11 +00:00
Arvid Norberg cc22aca981 DHT routing table tuning 2010-12-12 19:18:23 +00:00
Arvid Norberg 87c39fe3f6 fixed bug in natpmp 2010-12-12 18:16:35 +00:00
Arvid Norberg 5ee6266e93 more DHT fixes 2010-12-12 09:15:54 +00:00
Arvid Norberg 31d8c7d9b7 fixed non dht-logging build 2010-12-12 03:45:49 +00:00
Arvid Norberg b56a1638ae DHT fixes. fixed bucket refresh issue. re-introduced refreshing our own bucket regularly. added more DHT instrumentation in session_status. added alert for when bootstrap is complete. Fixed bootstrap to ping remaining nodes when search is complete. Completed recent DHT observer rewrite to remove some redundant fields 2010-12-12 03:17:08 +00:00
Arvid Norberg 67d1c57b5e bumped some limits in dump_torrent 2010-12-11 22:00:20 +00:00
Arvid Norberg 29ed03f720 first implementation of DHT security implementation. tie the node ID to the external IP 2010-12-11 09:38:07 +00:00
Arvid Norberg 10003f952f fix build issue 2010-12-09 05:39:28 +00:00
Arvid Norberg 1e82df3e45 support partial hash DHT lookups 2010-12-06 06:39:16 +00:00
Arvid Norberg db0728e0cf right, the session thread actually has to start before upnp and natpmp can be started, since they are synchronous 2010-12-05 21:08:19 +00:00
Arvid Norberg 779014ddac support requesting UPnP and NAT-PMP routers for our external IP address 2010-12-05 20:40:28 +00:00
Arvid Norberg 2f115bc1aa factor out incremeant of m_acked_seq_nr, m_fast_resend_seq_nr and m_loss_seq_nr to make it more robust. Should fix issues where m_acked_seq_nr sometimes could get stuck pointing behind the last acked sequence number 2010-12-05 03:03:56 +00:00
Arvid Norberg 03bd547f40 potential memory corruption fix when connections close when the disk becomes available 2010-12-04 23:24:42 +00:00
Arvid Norberg 1c99bf1de3 more network thread asserts to make sure only the network thread touches network-thread only data. Also delay starting the network thread until after the session constructor is done with its setup 2010-12-04 22:20:31 +00:00
Arvid Norberg 94ef3eaf4b windows build fixes 2010-12-01 05:47:18 +00:00
Arvid Norberg f4746f4090 verbose logging cleanup 2010-12-01 04:22:03 +00:00
Arvid Norberg 3563ef98df fixed build error 2010-11-30 03:20:35 +00:00
Arvid Norberg 6ec7c85746 fixed build issues with default logging level 2010-11-30 02:39:36 +00:00
Arvid Norberg 2e69366b02 reverted part of the file_storage API to match the previous one more closly 2010-11-29 05:44:29 +00:00
Arvid Norberg f82321c1dd add a backwards compatible lazy_bdecode() 2010-11-29 02:48:40 +00:00
Arvid Norberg e5f980d80d merged uTP branch into trunk (yay) 2010-11-29 01:33:05 +00:00
Arvid Norberg 80611bd12c some settings save-fixes and reverting some unnecessary changes in the utp branch 2010-11-28 22:36:26 +00:00
Arvid Norberg df1372e04b disable slight memory optimization because it appears to cause leaks 2010-11-28 02:34:24 +00:00
Arvid Norberg 2e871382d7 add debug configuration to debug shutdown-stall bugs / outstanding async operations 2010-11-28 01:47:30 +00:00
Arvid Norberg f21251cba8 limit number of torrents tracked by DHT and support DHT name lookups 2010-11-27 03:09:28 +00:00
Arvid Norberg 4f24fe1e62 fixed bug when allow_multiple_connections_per_ip was enabled 2010-11-26 20:48:04 +00:00
Arvid Norberg d1cb2d52ff fixed build issues with with vernose logging enabled 2010-11-26 20:44:48 +00:00
Arvid Norberg 27f84d1618 fixed minor error handling logging and assert issue in disk io thread 2010-11-26 20:38:31 +00:00
Arvid Norberg 93702052fb lower default delay when checking files in low-memory mode 2010-11-25 23:34:37 +00:00
Arvid Norberg 8ff9b6338b some fixes 2010-11-25 10:46:52 +00:00
Arvid Norberg faccbd8ae3 introduce safety limit on total number of items in bencoded trees in lazy_bdecode. Document lazy_bdecode and its error codes. Make dump_torrent able to change the decoding limits 2010-11-25 02:49:50 +00:00
Arvid Norberg 894db973e8 optimized memory usage of torrent_info and file_storage 2010-11-24 23:49:22 +00:00
Arvid Norberg 7cd628e78d fix for unchoking optimistically unchoked peers 2010-11-23 20:36:27 +00:00
Arvid Norberg d937716af0 use PtrToPtr64 for scatter/gather I/O operations 2010-11-22 00:54:39 +00:00
Arvid Norberg a05acc4bac support trackerid tracker extension 2010-11-18 05:51:52 +00:00
Arvid Norberg 40ed231366 fixed tracker timeout handling 2010-11-18 01:06:33 +00:00
Arvid Norberg 71d51b90e8 more size logging and potential fix for udp_tracker_connection leak 2010-11-16 06:41:35 +00:00
Arvid Norberg 62f8cac2b9 fixed typo 2010-11-15 05:15:43 +00:00
Arvid Norberg 8c404cc5c1 optimized memory usage of torrent_info 2010-11-15 05:10:36 +00:00
Arvid Norberg 79f6b5856b verbose logging fixes 2010-11-15 04:43:53 +00:00
Arvid Norberg 94a25a3953 fix one more assert (hopefully) 2010-11-14 10:57:10 +00:00
Arvid Norberg 2353cc8ec2 assert we don't ask for physical offset of a pad file 2010-11-14 08:17:27 +00:00
Arvid Norberg 26b48530d2 fixed some incorrect encryption asserts 2010-11-14 01:06:52 +00:00
Arvid Norberg a4f533ce55 improve the bencoded printer 2010-11-09 18:13:22 +00:00
Arvid Norberg 6ba977aa9b fixed bug in session_settings::disable_hash_checks 2010-11-07 21:41:03 +00:00
Arvid Norberg 02e15202f2 support dht nodes in magnet links 2010-11-07 19:18:16 +00:00
Arvid Norberg b3c0fa9f45 fixed some graceful pause mode edge cases 2010-11-07 09:39:35 +00:00
Arvid Norberg a2a2ac08a2 move queue_position and need_save_resume into torrent_status. optimized client_test to make fewer synchronous calls and pull more out of torrent_status 2010-11-06 18:04:07 +00:00
Arvid Norberg 80cfdc4fd8 dht assert fix 2010-11-06 17:01:21 +00:00
Arvid Norberg 1c7e5506e9 report stats on the number of dht request observers that are currently allocated 2010-11-06 07:12:57 +00:00
Arvid Norberg d3a8916f02 further simplify the DHT by getting rid of the result type and just using observers instead. This might save some memory and should fix the assert that would be triggered before 2010-11-05 19:06:50 +00:00
Arvid Norberg 23ac52c164 simplify some DHT code and remove a dependency on boost.mpl 2010-11-05 03:12:57 +00:00
Arvid Norberg dc639193db don't time out peers for inactivity if it's caused by a download rate limit or blocking on disk 2010-11-02 06:44:25 +00:00
Arvid Norberg 618f4dcc01 fix assertion failure with debug iterators when loading empty torrent files 2010-11-02 02:24:57 +00:00
Arvid Norberg 24916ac908 fixed typo 2010-10-31 22:26:22 +00:00
Arvid Norberg 8737a339c8 refactored verbose peer logging to use format strings 2010-10-31 22:12:26 +00:00
Arvid Norberg f57e1dd622 chunked encoding fixes and added support for http seeds as well 2010-10-31 03:05:11 +00:00
Arvid Norberg 0773644a4e fixed web seed test to work with invariant checks turned on and fixed error reporting when receiving an unexpected responce for http seeds 2010-10-30 19:45:50 +00:00
Arvid Norberg a76570b563 deprecated a bunch of query functions on torrent_handle in favor of using status() to get as much information as possible in fewer calls, and saving time on synchronizing with the main thread 2010-10-30 17:23:30 +00:00
Arvid Norberg 08a234f6a6 document peer turnover settings and update default settings to enable it. In trunk, make the peer turnover interval configurable as well 2010-10-30 15:59:57 +00:00
Arvid Norberg e4de1fc8b1 graceful disconnect mode which finishes transactions before disconnecting peers 2010-10-30 08:36:18 +00:00
Arvid Norberg 0dbef9103a some reordering and asserts around web seed name resolution 2010-10-30 07:11:04 +00:00
Arvid Norberg 2e05dc765a make the listen argument configurable 2010-10-29 08:10:12 +00:00
Arvid Norberg 0ef5d25d46 support 100 Continue HTTP responses 2010-10-29 07:56:07 +00:00
Arvid Norberg f84cc340df fixed a bunch of sloppy typos 2010-10-29 02:42:41 +00:00
Arvid Norberg 0d196d3c84 document the problem of the disk cache potentially modifying files after saving resume data. In trunk, add a flag to flush the cache in the same call as saving resume data 2010-10-29 02:21:43 +00:00
Arvid Norberg fc1b44b560 improve error reporting of lazy_bdecode to use error_code 2010-10-28 04:01:59 +00:00
Arvid Norberg d737dd051d added support for chunked encoding for web seeds 2010-10-27 06:39:18 +00:00
Arvid Norberg 4968192654 revert bad change to &downloaded= tracker announce semantics 2010-10-26 16:39:20 +00:00
Arvid Norberg 07f1b74291 fixed logging build 2010-10-24 08:06:58 +00:00
Arvid Norberg 2e71bc818c one last stats fix 2010-10-24 04:15:10 +00:00
Arvid Norberg 786af218e1 fixed bug in stat patch 2010-10-24 02:45:47 +00:00
Arvid Norberg 6387910a42 use rolling average instead of a history and actual average for stats. Saves memory 2010-10-24 01:22:10 +00:00
Arvid Norberg 84d81d3a82 fixed up link test to make sure library and client are using the same configuration, also factored out common code from session constructor 2010-10-24 00:44:07 +00:00
Arvid Norberg 9a461c5e46 reduce some warnings 2010-10-22 05:39:32 +00:00
Arvid Norberg 5efd0a9c20 i2p fix (broke with updated ssl code) 2010-10-22 05:02:42 +00:00
Arvid Norberg cadd4f1b8d anti-leach seeding unchoke mode 2010-10-21 05:53:13 +00:00
Arvid Norberg 9b50acbe15 potential string handling issue in upnp 2010-10-20 05:14:50 +00:00
Arvid Norberg 517aaf526b fixed assert when shutting down with DHT enabled 2010-10-19 03:43:11 +00:00
Arvid Norberg 4b6a73417d fixed error reporting issue in disk I/O thread 2010-10-18 07:38:14 +00:00
Arvid Norberg 7aa9352dd0 fixed file allocation issue on linux. fixed filname encoding issue with iconv() 2010-10-18 07:15:57 +00:00
Arvid Norberg eba657d8ad reports redundant downloads to tracker, fixed downloaded calculation to be more stable when not including redundant. Improved redundant data accounting to be more accurate 2010-10-18 00:10:33 +00:00
Arvid Norberg 973a1c45f2 fixed a bug in http_seed_connection::downloading_piece_progress which would sometimes trigger an assert 2010-10-17 19:19:17 +00:00
Arvid Norberg 643a49f022 optimized session/torrent startup time (shaved off about 2 seconds) 2010-10-17 18:36:37 +00:00
Arvid Norberg 977c2d34dd log ratelimits in peer bandwidth request entry 2010-10-17 17:39:11 +00:00
Arvid Norberg 3948ca3179 fixed bugs in http seed connection and added unit test for it 2010-10-17 16:15:32 +00:00
Arvid Norberg 559c4bdf65 fixed some msvc warnings 2010-10-16 15:24:45 +00:00
Arvid Norberg 7be0604877 fixed error reporting when fallocate fails 2010-10-14 00:58:08 +00:00
Arvid Norberg bd1f0726ce fix const issue 2010-10-12 09:01:51 +00:00
Arvid Norberg 7bd25edc9d generalize SSL support to also include web seeds (and in theory regular peers) 2010-10-12 08:57:43 +00:00
Arvid Norberg 43b29c3627 support web seeds in create_torrent and fix issue when building without deprecated functions 2010-10-10 21:06:35 +00:00
Arvid Norberg 72322dbc10 allow extending web seeds with extra headers and custom authorization schemese 2010-10-10 18:43:58 +00:00
Arvid Norberg 3b550ece98 don't save settings that are set to the default value 2010-10-10 02:22:57 +00:00
Arvid Norberg e494cb219b made seeding choking algorithm configurable 2010-10-09 21:11:03 +00:00
Arvid Norberg 21cbd1fac4 deprecated setters for max connections, max half-open, upload and download rates and unchoke slots. These are now set through session_settings 2010-10-09 19:09:38 +00:00
Arvid Norberg 606796841f added comment 2010-10-07 01:05:53 +00:00