Andrey Prygunkov
1ee8e02586
#745 : fixed crash caused by malformed nzb files
...
: for file elements not having subject attribute a (somewhat) random
subject is generated and is used as file name; correct file names are
read from articles later anyway
2021-04-15 01:26:36 +02:00
Andrey Prygunkov
81aa56324f
#635 : fixed PC sleep mode not working (Windows only)
2019-05-09 23:20:00 +02:00
Andrey Prygunkov
3a5bc85962
#351 : notify about url or nzb returned to queue
...
from history.
2019-01-26 21:09:48 +01:00
Andrey Prygunkov
25dc60e71f
#351 : sleep longer in queue coordinator
...
Up to 2 second when queue is empty or downloads are paused.
2019-01-26 18:58:09 +01:00
Andrey Prygunkov
89427f42ce
#351 : "WorkState" is now observable
2019-01-26 18:16:17 +01:00
Andrey Prygunkov
adf3e05e1d
#351 : refactor: utility function "Sleep"
...
to replace direct calls to “usleep”, with parameter in milliseconds
instead of microseconds.
2019-01-22 22:23:40 +01:00
Andrey Prygunkov
e3bd94189a
#351 : refactor: moved changeable state into new Unit "WorkState.cpp"
...
from Unit “Options.cpp”. The latter now contains only program options
(which cannot be changed without reload).
2019-01-22 21:57:00 +01:00
Andrey Prygunkov
bb1cb68653
#351 : sleep longer in queue coordinator
...
In idle sleeps for 0.5 sec. Wake up immediately when a new item is
added to queue. Waking up from paused queue can take longer (up to 0.5
sec).
2019-01-22 18:32:34 +01:00
Andrey Prygunkov
e91f37d566
#351 : protect vars depended on condition
...
to avoid race conditions and lock ups
2019-01-22 00:11:13 +01:00
Andrey Prygunkov
57f4d2864b
#351 : refactor: use same name for cond var and mutex
2019-01-21 23:40:12 +01:00
Andrey Prygunkov
92828acab0
#351 : reworked timed services
...
Now sleeping much longer, up to next scheduled work, instead of often
wake ups to check if the work needs to be performed. This improves CPU
usage in idle.
2019-01-21 21:21:16 +01:00
Andrey Prygunkov
137c936830
#351 : full pausing UrlCoordinator in idle
...
UrlCoordinator is now completely paused (waits without wake ups) when
there are no work for it.
2019-01-19 23:42:57 +01:00
Andrey Prygunkov
adf7ec225b
#362 : save ParSetId into disk state
...
That’s needed to make direct rename work properly if the program was
reloaded in the middle of direct rename download process.
2019-01-17 19:45:59 +01:00
Andrey Prygunkov
d15722c72d
#595 : save original file name into disk state
2019-01-17 19:42:41 +01:00
Andrey Prygunkov
0776c6b057
#595 : check original file names when looking for splitted fragments
2019-01-17 00:28:55 +01:00
Andrey Prygunkov
491d816bff
#591 : save only changed queue data during downloading
...
This is a speed optimisation for large queue.
2019-01-14 17:53:51 +01:00
Andrey Prygunkov
f3cf9317a6
#591 : avoid superfluous savings of queue
2019-01-13 00:39:42 +01:00
Andrey Prygunkov
b0356d88d6
#591 : use local buffer for formatting during saving disk state
...
This improves performance with large queue by avoiding many memory
allocations.
2019-01-12 21:47:56 +01:00
Andrey Prygunkov
fbfa793b20
#591 : improved error reporting for queue disk state corruption
2019-01-12 19:48:44 +01:00
Andrey Prygunkov
e2ea481799
#590 : fixed compiler warning on MSVC
2019-01-07 18:53:49 +01:00
Andrey Prygunkov
32a6bf18ad
#597 : reverted changes to Thread-unit
...
Due to compatibility issues on older platforms (issues discovered on
ARMv7 with GCC 5.2 but may not be limited to this platform) the usage
of C++11 thread- and synchronisation facilities has been reverted to
previous custom OS-specific implementation.
2019-01-06 12:50:28 +01:00
Federico Cuello
2c85def959
Replace custom Guard class by std::lock_guard and std::unique_lock
...
Use a typedef to maintain the name and use Guard for simple scoped lock
guards and UniqueLock when it needs to be movable.
2019-01-02 20:49:10 +01:00
Federico Cuello
541a695e2f
fix compile warning: -Wsign-compare
...
Fix sign compare warning by improving casting choices.
2018-12-21 16:04:41 +01:00
Federico Cuello
c93eb2087f
fix compile warning: -Wreorder
...
Declare variables in the right order to avoid this warning.
2018-12-21 15:06:50 +01:00
Andrey Prygunkov
17c5a9cbc8
fixed #573 : statistics for session download time and speed
...
may be way off on high load
2018-09-01 13:18:21 +02:00
Andrey Prygunkov
4db9ef2535
#541 : fixed crash when adding many urls
2018-08-25 18:06:44 +02:00
Andrey Prygunkov
5a0eae7bf4
#541 : fixed log messages printed twice
2018-08-25 17:54:28 +02:00
Andrey Prygunkov
fa1aa45fa7
#541 : f3cb44e7b2: other case for DELETED/DUPE
...
queued URLs with lower dupescore have status DELETED/DUPE instead of
DELETED/MANUAL.
2018-07-27 17:19:16 +02:00
Andrey Prygunkov
f842a19544
#541 : preserve logs for URL items
...
do not discard (cleanup) logs of URLs when loading disk-state
2018-07-24 22:47:39 +02:00
Andrey Prygunkov
f3cb44e7b2
#541 : even better duplicate handling of urls
...
1) allow status DELETED/GOOD for URLs;
2) queued URLs with lower dupescore have status DELETED/DUPE instead of
DELETED/MANUAL.
2018-07-23 23:41:51 +02:00
Andrey Prygunkov
5106979d5d
#541 : mark as good hides urls
2018-07-15 14:02:42 +02:00
Andrey Prygunkov
75d05bce4a
#541 : fixed url dupe handling for good/success status
2018-07-14 12:44:01 +02:00
Andrey Prygunkov
5e15677218
#541 : better duplicate handling of urls
2018-07-12 21:19:09 +02:00
Andrey Prygunkov
14c5a1caf7
#541 : delayed fetching of nzbs added via urls
2018-07-07 18:16:40 +02:00
Andrey Prygunkov
0d19722881
#547 : improved duplicate detection for files with same subjects
2018-05-31 18:31:28 +02:00
Andrey Prygunkov
4d771036e2
#529 : fixed missing file unlocking after direct rename
...
Also made locking more granular to avoid unnecessary locks for files
whose articles are not going to be discarded.
2018-05-01 21:22:34 +02:00
Andrey Prygunkov
3a4e6623db
fixed #529 : crash when flushing article cache after direct rename
2018-04-03 13:02:57 +02:00
Andrey Prygunkov
9b50760006
#477 : dupe check now case insensitive
2018-01-25 23:50:07 +01:00
Andrey Prygunkov
b7102894d7
#498 : fixed pp-parameter initialization
2018-01-25 23:47:53 +01:00
Andrey Prygunkov
d9cb0026bd
#498 : case insensitive pp-parameters
2018-01-25 17:38:35 +01:00
Andrey Prygunkov
0ee60ab844
#466 : keep log-file longer open
...
that improve logging performance especially in debug build
2017-11-06 22:18:40 +01:00
Andrey Prygunkov
7deb3c1b68
#461 : renamed option "LogBufferSize" to "LogBuffer"
...
and removed obsolete options “SaveQueue” and “ReloadQueue” from
config-file
2017-10-29 13:07:00 +01:00
Andrey Prygunkov
07c54740a7
#461 : removed option "TerminateTimeout"
...
No thread killing anymore. Hanging downloads are gracefully cancelled
after timeout set in “ArticleTimeout” or “UrlTimeout”.
2017-10-29 12:34:16 +01:00
Andrey Prygunkov
af111adbde
#461 : removed options "SaveQueue" and "ReloadQueue"
2017-10-28 16:17:45 +02:00
Andrey Prygunkov
15c292653e
#458 : compiling without libxml2 to test dev environment
...
new configure-parameter “--disable-libxml2”.
2017-10-22 23:52:13 +02:00
Andrey Prygunkov
54eb8e1291
#448 : new option "SkipWrite"
...
replaces compiler define “SKIP_ARTICLE_WRITING”. 2) renamed option
“Decode” to “RawArticle”. 3) option “CrcCheck” moved from section
“Download Queue “ into section “Check and Repair”
2017-09-28 17:31:47 +02:00
Andrey Prygunkov
a41e010165
#438 : fixed propagation delay
2017-09-04 20:28:00 +02:00
Andrey Prygunkov
0ee72d2dd7
#438 : speed improvement in queue management
...
when downloading with very large queue (thousands of nzbs).
2017-09-02 11:37:57 +02:00
Andrey Prygunkov
57f932cfab
#438 : hibernating all file infos in one large disk state file
...
to greatly improve startup time
2017-09-02 11:36:38 +02:00
Andrey Prygunkov
8f803c2f21
#438 : great speed optimization for queue-dir cleanup
2017-09-02 11:34:07 +02:00