Commit Graph

346 Commits

Author SHA1 Message Date
arvidn e0c3d28321 fix some warnings 2015-08-02 15:55:05 -04:00
arvidn 2b05b1c85c fix cppcheck warnings 2015-07-11 10:36:13 -04:00
arvidn f91799006a fix make_shared invocation 2015-06-14 16:42:52 -04:00
arvidn 5cb095f6d2 support using 0 disk threads (to perform disk I/O in network thread) 2015-06-14 16:00:04 -04:00
arvidn 389ffc622c don't pull in the asio namespace in libtorrent. refer to it by boost::asio 2015-06-06 01:24:25 -04:00
Arvid Norberg d43f7b56a2 update copyright year 2015-06-03 05:18:48 +00:00
Arvid Norberg 9b0313bd8e hold settings_pack by shared_ptr when passing it across thread boundaries. don't allocate it on the heap redundantly 2015-05-29 05:27:53 +00:00
Arvid Norberg 607e708bc4 fix warnings 2015-05-19 03:13:49 +00:00
Arvid Norberg 051ca6b22c fix warnings 2015-05-18 05:32:18 +00:00
Arvid Norberg 58ae099cf8 clean up disk_io_job a bit to avoid old-style casts 2015-05-16 20:41:37 +00:00
Arvid Norberg 8fdacf9534 address coverity issues and build issue with non atomic 64 bit operations 2015-05-03 22:21:19 +00:00
Arvid Norberg a1dbba7cf4 make clear_read_cache() code less confusing 2015-04-29 05:11:55 +00:00
Arvid Norberg 2fff222235 silence some warnings on msvc 2015-04-27 02:21:12 +00:00
Arvid Norberg f5629eb403 cleanup and fixing of more warnings 2015-04-21 00:23:00 +00:00
Arvid Norberg 4d15f1410f fix warnings, some clean-up and todo comments 2015-04-20 04:52:49 +00:00
Arvid Norberg 013ed36f09 landed alert_queue feature branch into trunk 2015-04-03 20:15:48 +00:00
Arvid Norberg ccc7e45406 landed mutable torrents branch in trunk 2015-03-21 00:12:40 +00:00
Arvid Norberg 37225b71ae const static -> static const (thanks gubatron). helps swigs parser 2015-03-14 00:42:27 +00:00
Arvid Norberg 6c1df7eb55 landed the bdecode branch in master. lazy_bdecode/lazy_entry is now being replaced by bdecode/bdecode_node 2015-03-12 05:20:12 +00:00
Arvid Norberg c1dc982f4f deprecate the ptime type and related time types. just use boost::chrono / std::chrono 2015-03-12 04:34:54 +00:00
Arvid Norberg 89055c4c7a some more optimizations on loading torrents 2015-02-18 03:32:49 +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 a1c1f9393d fix flush_pieces in disk_io_thread to also flush the read cache 2015-01-01 10:10:13 +00:00
Arvid Norberg 1039d4ae86 tweak some TODO comments and fix one 2014-12-31 14:41:35 +00:00
Arvid Norberg 5666cdcd07 fix warnings 2014-12-09 09:33:34 +00:00
Arvid Norberg 1ed1963f29 remove size_type typedef in favor of boost::int64_t 2014-12-03 04:32:50 +00:00
Arvid Norberg 0b711f1280 remove unused variables. add some comments 2014-11-17 03:10:00 +00:00
Arvid Norberg 935eea9d0b some more fixes to cache_status 2014-10-25 21:28:57 +00:00
Arvid Norberg 83394f54f9 transition fenced job histogram to session stats gauges. deprecate it from cache_status 2014-10-25 20:59:54 +00:00
Arvid Norberg 0bcbe433ed deprecate most of cache_status type (use session stats instead) 2014-10-25 20:07:50 +00:00
Arvid Norberg d287ce9c46 fix issue when hash checking files resulting in a short read 2014-10-12 23:49:51 +00:00
Arvid Norberg f32f5e96aa deprecate parts of cache_status and move those counters to session_stats counters. make the performance counters thread safe. fix some issues recently introduced to performance counters and the usage of them in client_test 2014-08-01 06:07:48 +00:00
Arvid Norberg 671ae32ae5 fix docs generation for stats counters 2014-07-30 02:00:14 +00:00
Arvid Norberg 035da93592 fixed disk_io_job flags being used as file flags 2014-07-28 01:06:00 +00:00
Arvid Norberg cd456964ad storage fixes 2014-07-20 08:59:02 +00:00
Arvid Norberg f3a7008bd5 close files when stopping a torrent 2014-07-20 00:23:12 +00:00
Arvid Norberg c8e8eb6e15 some asserts in disk_io_thread. fix issue in torrent::initialize 2014-07-12 19:23:31 +00:00
Arvid Norberg 7351389ce8 land libtorrent_aio branch in trunk 2014-07-06 19:18:00 +00:00
Arvid Norberg 6ef1b98717 merged compiler warning fixes from RC_1_0 2014-07-05 14:10:25 +00:00
Arvid Norberg 6c6fe4dfe2 merged fixes of warnings from RC_1_0 2014-07-04 23:40:31 +00:00
Arvid Norberg 18c52fe7cd fix bug in patch to introduce file_priority disk job 2014-03-01 09:05:53 +00:00
Arvid Norberg a0a41b6c5e merged file priority fix from RC_0_16 and keep the disk thread's file priorities up to date 2014-02-28 10:19:29 +00:00
Arvid Norberg a943fec777 update copyright 2014-02-23 19:12:25 +00:00
Arvid Norberg b3de578fe7 merge invalid assert fix from RC_0_16 2014-02-07 09:35:08 +00:00
Arvid Norberg 6597eaf09a there doesn't seem to be any point in exporting piece_block_progress, so don't do that. Introduce magic number check in disk_io_thread (mysterious crash/corruption happens in storage unit test on mac, but not very often and hard to reproduce). 2014-02-03 01:55:26 +00:00
Arvid Norberg 36c9add067 don't print stuff to stdout in debug builds. when waking up from completing a connection attempt, exit immediately if the connection is disconnecting, or disconnect if we're in graceful pause mode. some test cleanups 2014-01-26 08:18:13 +00:00
Arvid Norberg e0644ce8f5 invariant check macro fixes 2014-01-21 19:26:09 +00:00
Arvid Norberg 36889a1524 asserts and logging in SSL test 2014-01-17 01:00:49 +00:00
Arvid Norberg 4e6b1cfbfb update copyright 2013-12-25 17:07:16 +00:00
Arvid Norberg 89c3db477d merge build fix with C++11 from RC_0_16 2013-09-25 19:44:29 +00:00
Arvid Norberg f2e16c36b3 merged fix from RC_0_16 2013-09-12 07:10:52 +00:00
Arvid Norberg 75789e3958 fix uninitialized variable in disk_io_thread 2013-09-04 04:09:33 +00:00
Arvid Norberg 01c8c8543b fix typo in move_storage 2013-05-11 21:32:18 +00:00
Arvid Norberg 4607e36c6f fix move_storage bug when using fail_if_exist as well as use the boost::system::errc::file_exists as error code for that case 2013-05-11 03:54:18 +00:00
Arvid Norberg 982a14c2e9 extend move_storage functionality to have more flexible behavior 2013-05-09 02:50:16 +00:00
Arvid Norberg 431efc6157 merge storage fix from RC_0_16 2013-03-03 04:47:19 +00:00
Arvid Norberg a0caa0f4b2 disable invariant_check functions when invariant checks are disabled 2013-02-25 04:13:46 +00:00
Arvid Norberg e45c71dd30 merged sparse file fix from RC_0_16 2013-02-16 08:26:55 +00:00
Arvid Norberg bff648a89e update copyright dates and add tool to do so 2012-10-02 03:16:33 +00:00
Arvid Norberg 24186f219a fix write cache flush issue 2012-05-23 14:59:56 +00:00
Arvid Norberg 19e7546968 fixed low_prio_disk support on linux 2012-05-15 14:13:35 +00:00
Arvid Norberg ba4c77e7e5 merged FreeBSD fix from RC_0_16 2012-04-15 00:48:44 +00:00
Arvid Norberg a5a9006014 merged fixes from RC_0_16 into trunk 2012-04-07 00:35:25 +00:00
Arvid Norberg 9024209d51 merged set_settings race condition fix into trunk 2012-04-06 03:02:50 +00:00
Arvid Norberg 7f3aac3959 fix issue with unchoke_slots_limit not preserving its value correctly 2011-12-19 05:53:11 +00:00
Arvid Norberg cc6bc5ba17 back-out attempt to make disk cache hits faster. it corrupts data 2011-11-28 17:51:14 +00:00
Arvid Norberg 85ef2528c6 serve cache hits without a round-trip to the disk thread for improved seeding performance 2011-11-16 07:09:12 +00:00
Arvid Norberg b430152174 post disk job completions in batches to save CPU in the network thread 2011-10-19 05:46:49 +00:00
Arvid Norberg ef1ee13d58 fix bug in flush_cache_blocks 2011-10-13 02:19:55 +00:00
Arvid Norberg b078f908f0 one more attempt to fix no-readback cache algorithm 2011-09-27 10:46:56 +00:00
Arvid Norberg b3d2877274 more no-readback fixes 2011-09-27 07:50:58 +00:00
Arvid Norberg d8641705e3 commented out expensive invariant check in disk cache 2011-09-27 04:56:57 +00:00
Arvid Norberg f6b6b57c0e fix avoid-readback cache algorithm 2011-09-27 04:05:05 +00:00
Arvid Norberg 6271ee58f6 fix overflow issue in default disk write queue size limit 2011-09-14 06:22:45 +00:00
Arvid Norberg ecba902ff1 fix cache eviction issue in seed_mode 2011-08-07 07:27:38 +00:00
Arvid Norberg bc2f0c8c5e move disk_buffer_pool out to its own file 2011-07-31 02:24:36 +00:00
Arvid Norberg 209b9e4186 make disk timing be average over the last second. fixed some other bugs in previous changes 2011-06-26 19:45:33 +00:00
Arvid Norberg 3e5b165a91 fix invariant check defines 2011-06-21 07:10:54 +00:00
Arvid Norberg b9e754d14d mark some invariant checks in disk_io_thread as expensive 2011-06-21 05:10:32 +00:00
Arvid Norberg f6f516bed0 fix file_storage copy constructor (would break python bindings) 2011-06-06 07:47:29 +00:00
Arvid Norberg a73960aa5a support release asserts 2011-05-08 09:04:59 +00:00
Arvid Norberg e389f5963d added support for fadvise/F_RDADVISE for improved disk read performance 2011-04-26 07:03:05 +00:00
Arvid Norberg 8e92cad2db fixed bug in avoid_readback disk cache eviction algorithm 2011-04-17 05:33:33 +00:00
Arvid Norberg 0c28a3e3ca fixed bug in session::delete_files option to remove_torrent 2011-04-10 20:35:45 +00:00
Arvid Norberg f3a7d567a4 fix bug in disk thread and torrent abort functions 2011-04-04 02:57:19 +00:00
Arvid Norberg 74ccff22be use a deque instead of list for disk io jobs queue 2011-03-28 06:01:24 +00:00
Arvid Norberg f6a42863e3 try to optimize disk write performance by raising the low watermark (for disk thread queue) to start reading from sockets and also post the start-reading event earlier. Also implement fair round-robin of which peers get to start downloading on this event 2011-03-27 20:35:38 +00:00
Arvid Norberg 346a6fb175 another read job starvation fix + some more logging 2011-03-27 08:21:26 +00:00
Arvid Norberg 41bc60c36a fixed bug in avoid_readback disk cache algorithm 2011-03-26 19:06:58 +00:00
Arvid Norberg aabb862400 fixed windows build 2011-03-21 06:31:48 +00:00
Arvid Norberg 2dfd1a972b prevent read jobs from starving in the disk I/O thread 2011-03-20 19:17:59 +00:00
Arvid Norberg 836de5d338 fixed infinite loop when using avoid_readback cache eviction algorithm 2011-03-20 17:08:18 +00:00
Arvid Norberg 3d63cb98b7 log read job queue size 2011-03-20 09:04:03 +00:00
Arvid Norberg 5c26294c29 fixed typo 2011-03-20 08:29:18 +00:00
Arvid Norberg 2525b8b457 sorting counts as job time in disk I/O thread timing 2011-03-20 07:44:25 +00:00
Arvid Norberg c1620de8d8 sorting needs to count as part of the disk job to get proper proportions of disk thread time metrics 2011-03-20 06:37:19 +00:00
Arvid Norberg e4df633157 added another disk cache flush algorithm to minimize readback when hashing pieces 2011-03-20 05:47:27 +00:00
Arvid Norberg 1b6227ad31 report disk read-back when verifying piece hashes 2011-03-20 01:19:14 +00:00
Arvid Norberg afc9806319 hash timing change 2011-03-19 22:52:29 +00:00
Arvid Norberg c015e28792 more disk thread timing 2011-03-19 22:23:58 +00:00