Commit Graph

2594 Commits

Author SHA1 Message Date
Arvid Norberg 89055c4c7a some more optimizations on loading torrents 2015-02-18 03:32:49 +00:00
Arvid Norberg c4a294e88a deprecate file_base feature in file_storage/torrent_info 2015-02-17 04:53:49 +00:00
Arvid Norberg d49e97afb3 optimized loading and parsing torrents. Specifically detecting duplicate filenames (optimizing the common case of no collisions). Expanded unit test to uncover an unsupported case (not fixed yet). cutting down on memory allocation and copying when parsing torrent files in memory 2015-02-17 02:08:47 +00:00
Arvid Norberg 3d47a1fb81 extend file_storage unit test a bit 2015-02-16 21:53:23 +00:00
Arvid Norberg 5ea0db3145 extend piece_picker unit test and comment out unused function 2015-02-15 22:01:15 +00:00
Arvid Norberg 40980df545 extend storage unit test to cover iovec operations 2015-02-15 07:31:35 +00:00
Arvid Norberg 91270a0c2b make operation_t public and document it. include peer disconnects in client_test log 2015-02-15 05:17:09 +00:00
Arvid Norberg 84fd07e226 extend piece_picker unit test 2015-02-15 02:17:57 +00:00
Arvid Norberg d370ae0b9d merge test_torrent_parse and test_torrent_info (they both exercised torrent_info) 2015-02-15 01:04:50 +00:00
Arvid Norberg a831a78fd5 simplify and clean up utp_stream. fix missing error check in read handler in peer_connection 2015-02-15 00:25:56 +00:00
Arvid Norberg 1dbba7c410 optimize disk buffer allocation when seeding 2015-02-14 23:20:45 +00:00
Arvid Norberg 2fdb7499fa optimize block_info allocation and downloading_piece size in piece_picker 2015-02-14 21:32:41 +00:00
Arvid Norberg 51f1a61d2d more piece_picker unit tests and some fixes 2015-02-13 02:58:21 +00:00
Arvid Norberg 72d015c86a extend piece_picker unit test 2015-02-12 03:16:53 +00:00
Arvid Norberg 7395a91bf4 clean up piece picker interface to make piece_pos private again 2015-02-08 22:15:59 +00:00
Arvid Norberg 9fb98b1151 remove speed affinity feature in piece-picker and peers 2015-02-08 21:17:00 +00:00
Arvid Norberg 497f7a4a27 piece picker fix for random mode 2015-02-08 21:12:10 +00:00
Arvid Norberg a8623a9b23 request partial pieces in rarest-first order 2015-02-08 18:01:29 +00:00
Arvid Norberg 1b9b6f7292 support http basic auth in http_connection passed in from the outside as opposed to part of the url 2015-02-08 16:03:09 +00:00
Arvid Norberg 2a0789594d fix linux build 2015-02-08 00:59:54 +00:00
Arvid Norberg 9b91508c38 clean up session_interface and tracker_manager a bit. work on making tracker_manager more testable 2015-02-01 14:30:43 +00:00
Arvid Norberg 097d5b484d improve piece picker support for reverse picking (used for snubbed peers) to not cause priority inversion for regular peers 2015-01-26 02:04:58 +00:00
Arvid Norberg bc9281a27c deprecate file_entry (used by file_storage) and clean up the add_file overload that borrows memory (and improve implementation and documentation). The python bindings were updated to more closely match the c++ API (specifically actually using file_storage) 2015-01-21 15:46:12 +00:00
Arvid Norberg 5cfd662352 msvc fix 2015-01-21 06:48:23 +00:00
Arvid Norberg 3286437a7d extend peer_list unit test and fix some bugs 2015-01-20 23:56:45 +00:00
Arvid Norberg f4ee43a1f9 fix linux build 2015-01-20 17:05:45 +00:00
Arvid Norberg f6474f5717 fix wakeup profiling to not grow memory usage indefinitely 2015-01-20 16:15:45 +00:00
Arvid Norberg d9e69db0cb actually make use of the max_failcount setting 2015-01-20 06:26:22 +00:00
Arvid Norberg 54eb499803 make post_torrent_updates more flexible by allowing to pass flags to it. The same flags as torrent_handle::status. Also make the default return accurante progress 2015-01-20 02:46:23 +00:00
Arvid Norberg d8d069675c improve piece picker to better support torrents with very large pieces and web seeds 2015-01-20 02:34:55 +00:00
Arvid Norberg 431fa2ac55 fix python binding build (and expose the new dht stats alert) 2015-01-18 21:36:24 +00:00
Arvid Norberg a7bec127f1 relying on local statics being threadsafe still does not seem safe on msvc 2015-01-18 16:52:39 +00:00
Arvid Norberg 0afea4bb3e move some DHT verbose stats logging over to performance counters 2015-01-18 01:06:36 +00:00
Arvid Norberg 22a02f4a1f make dht_tracker be held by shared_ptr instead of intrusive_ptr. remove redundant performance counter (total dht sent/received). report DHT IP overhead to the IP overhead counters 2015-01-17 22:06:30 +00:00
Arvid Norberg 58d93e5aa1 add new (non-deprecated) access to dht stats, asynchronously via an alert 2015-01-17 17:02:58 +00:00
Arvid Norberg b9b657c3d4 post alerts instead of writing to a file, in local peer discovery, when logging is enabled 2015-01-16 23:01:14 +00:00
Arvid Norberg f914943e58 fix some compile warnings 2015-01-16 20:51:39 +00:00
Arvid Norberg 3fbc0f05c6 add unit test for default_storage::rename 2015-01-16 04:02:44 +00:00
Arvid Norberg d140d71e1a extend logging of UDP tracker announces (to track down unit test flapping) 2015-01-13 21:34:43 +00:00
Arvid Norberg fb058f602f aux::session_settings is used by a test 2015-01-09 00:42:57 +00:00
Arvid Norberg c9903bdaf2 use O_SYNC when available 2015-01-07 23:21:54 +00:00
Arvid Norberg 0f37e3403c transition from intrusive_ptr to shared_ptr. don't export initialize_default_settings 2015-01-06 08:08:49 +00:00
Arvid Norberg b808cc8b2d remove some TODO comments 2015-01-05 12:32:30 +00:00
Arvid Norberg bb33b061e4 clean up session_impl 2015-01-04 22:26:26 +00:00
Arvid Norberg 35b41858cf deprecated session_status and session::status() in favor of performance counters 2015-01-04 21:31:02 +00:00
Arvid Norberg 1218e328cd SSL fixes (especially over uTP) 2015-01-04 01:04:56 +00:00
Arvid Norberg d68471805e improve support for HTTP where one direction of the socket is shut down 2015-01-03 22:38:17 +00:00
Arvid Norberg f839b8c9b4 factor creating of directories into default_storage::open_file to make that functionality more robust and fix a bug where moving files out of the part-file would fail because the directories hadn't been created yet 2015-01-03 16:57:21 +00:00
Arvid Norberg 21d1f6f649 more dynamic link build fixes 2015-01-02 11:11:09 +00:00
Arvid Norberg 9b0f7bbe72 move function from header to .cpp file 2015-01-02 00:51:09 +00:00