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
|
6d85c7c5f0
|
merge RC_1_1 into master
|
2016-03-08 01:10:48 -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
|
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
|
2bd6ad9974
|
remove invalid assert in the disk thread
|
2016-03-04 20:20:49 -05:00 |
arvidn
|
8135ea326f
|
rename async_check_fastresume to async_check_files, and make it take an add_torrent_params object instead of bencoded resume data
|
2016-02-20 02:00:07 -05:00 |
arvidn
|
ae7058e119
|
remove the timestamps and file sizes from the resume data. This makes saving resume data alot cheaper, since it doesn't have to go via the disk thread. It also removes an old-standing API usage issue where there was easily a race condition introduced between saving resume data and pausing a torrent.
|
2016-02-06 15:50:55 -05:00 |
arvidn
|
1f9f588e75
|
merge copyright year update and changelog from RC_1_0
|
2016-01-17 18:57:46 -05:00 |
arvidn
|
4cc2e879c4
|
comment out verbose pex logging. fix bug in disabled_storage and an error reporting issue on short reads in default_storage
|
2016-01-10 11:50:56 -05:00 |
arvidn
|
2acb3dcb24
|
clean up use of getrlimit() by wrapping it and move it to platform_util.cpp. Also take the opportunity to make it simulator friendly (consistent in simulation)
|
2015-12-02 00:45:34 -05:00 |
arvidn
|
b628692223
|
separate out announce_entry and torrent_status into their own headers
|
2015-09-18 08:08:08 -04:00 |
arvidn
|
17c5759829
|
disable warning for unused command line argument and fix warnings. remove redundant travis build config. use new preprocessor on clang to avoid warnings
|
2015-09-06 22:55:41 -04:00 |
arvidn
|
904da120d7
|
fixed some warnings
|
2015-08-20 22:28:00 +02:00 |
arvidn
|
8cf8e65861
|
turn linked_list into a template to improve type safety and remove some casts
|
2015-08-20 02:02:46 +02:00 |
arvidn
|
ffa870d280
|
fixed some GCC warnings
|
2015-08-20 01:33:20 +02:00 |
arvidn
|
bd177a857f
|
make tailequeue a template, introduce type safety, remove old-style casts
|
2015-08-19 15:22:05 +02:00 |
arvidn
|
5c8fc818c1
|
fix more warnings
|
2015-08-19 01:39:01 +02:00 |
arvidn
|
12da02ae52
|
fix some warnings
|
2015-08-18 09:33:00 -04:00 |
arvidn
|
8d8c049d9e
|
fix warnings and invalid defines in disk_io_thread.cpp
|
2015-08-18 07:55:50 -04:00 |
arvidn
|
9a0092c120
|
fix some warnings
|
2015-08-16 12:17:23 -04:00 |
Alden Torres
|
cd8a4d2511
|
Moved TORRENT_DISK_STATS to default_storage with the option of enable/disable at runtime.
|
2015-08-03 18:16:43 -04:00 |
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 |
Arvid Norberg
|
68c3faaad1
|
fixed bug in disk job timer
|
2011-03-18 03:52:25 +00:00 |
Arvid Norberg
|
782bc974a1
|
log average disk job time instead of cache time
|
2011-03-18 03:07:10 +00:00 |
Arvid Norberg
|
6db11079c8
|
add performance warning when disk write queue exceeds half of the write cache size
|
2011-03-16 07:45:51 +00:00 |
Arvid Norberg
|
7e3f69ecbf
|
optimized disk cache flushing a bit
|
2011-03-16 07:21:58 +00:00 |
Arvid Norberg
|
5e273aff34
|
fix bug in read cache expiration logic
|
2011-03-15 02:54:41 +00:00 |
Arvid Norberg
|
d6fbff13df
|
measure disk sort time (phys_offset)
|
2011-03-15 02:21:28 +00:00 |
Arvid Norberg
|
7dde47b98a
|
measure disk cache flush times
|
2011-03-15 01:44:32 +00:00 |
Arvid Norberg
|
a08bcf7459
|
change semantics of disk read time and add disk hash time
|
2011-03-14 05:21:46 +00:00 |
Arvid Norberg
|
a18f047311
|
minor storage fix
|
2011-03-13 21:07:46 +00:00 |
Arvid Norberg
|
03a7442532
|
add disk cache stats to session stats
|
2011-03-11 07:37:12 +00:00 |
Arvid Norberg
|
44fe8c160a
|
fix no-exceptions build
|
2011-03-10 05:01:36 +00:00 |
Arvid Norberg
|
56937edf56
|
cleaned up some exception handling and introduced macros like BOOST_TRY/BOOST_CATCH to make the optional exception handling nicer
|
2011-02-25 17:00:36 +00:00 |
Arvid Norberg
|
97a40a45cd
|
fully support unbuffered I/O
|
2011-02-22 02:53:26 +00:00 |
Arvid Norberg
|
141ada013f
|
fixed a whole bunch of build warnings on gcc and msvc, along with some fixes discovered along the way
|
2011-02-21 05:24:41 +00:00 |
Arvid Norberg
|
8bb71da401
|
disk write queue watermark fix
|
2011-02-13 22:27:02 +00:00 |
Arvid Norberg
|
aa116cd1d1
|
fix race condition when initializing the disk thread
|
2011-02-11 07:20:11 +00:00 |
Arvid Norberg
|
9efd739cf5
|
fixed typo
|
2011-02-10 06:06:56 +00:00 |
Arvid Norberg
|
19d6c53ad4
|
increase low watermark for disk write queue. log payload rates in session stats
|
2011-02-04 06:33:47 +00:00 |
Arvid Norberg
|
4ed6b1a067
|
introduce a low watermark for disk io blocking connections
|
2011-02-04 03:02:23 +00:00 |
Arvid Norberg
|
6663f527da
|
fixed error handling in torrent_info constructor
|
2011-01-19 10:07:51 +00:00 |
Arvid Norberg
|
00efc31bf6
|
various smaller fixes
|
2010-12-30 03:46:11 +00:00 |
Arvid Norberg
|
daea6d507e
|
fixed uninitialized variable in utp MTU logic. Fixed array overrun in disk cache
|
2010-12-24 22:53:00 +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
|
6ba977aa9b
|
fixed bug in session_settings::disable_hash_checks
|
2010-11-07 21:41:03 +00:00 |
Arvid Norberg
|
4b6a73417d
|
fixed error reporting issue in disk I/O thread
|
2010-10-18 07:38:14 +00:00 |
Arvid Norberg
|
aa1da121bc
|
attempt to support disk IO priority on linux
|
2010-07-24 02:54:42 +00:00 |
Arvid Norberg
|
c6a6fe1c07
|
fixed typo
|
2010-07-23 19:11:00 +00:00 |
Arvid Norberg
|
9109af0ce1
|
fix for disk job queue size measurement
|
2010-07-23 16:15:14 +00:00 |