Mathew Sutcliffe
51c3ae8c25
refs #815 Catch and handle CJsonException when calling convertFromJson.
2017-01-10 23:46:36 +00:00
Klaus Basan
3f2fc33b27
Minor change, added ' in error messages
2017-01-10 23:46:08 +00:00
Roland Winklmeier
e82d06849c
Upgrade and cleanup cppcheck suppressions to version 1.76.1
...
Also renamed the suppressions file to the standard name.
refs #831
2017-01-10 23:44:25 +00:00
Mathew Sutcliffe
5d7289adb3
refs #784 The data cache worker thread could interfere with performance measurements,
...
so only run it in applications that start the main event loop.
2016-12-13 19:00:19 +01:00
Mathew Sutcliffe
1e3afea9c2
refs #783 Used BlackMisc::singleShot in CDataPageQueue::queueValuesFromCache, to tolerate the page owner moving thread.
2016-12-06 09:34:08 +01:00
Mathew Sutcliffe
0b07088639
refs #782 Extended error information when data cache fails to write.
2016-12-06 09:34:05 +01:00
Mathew Sutcliffe
d0d1a9c8b8
refs #756 Fixed session cache concept:
...
Each new session generates an ID identifying that session, and
the .rev file annotates the ID associated with each cache value.
This is needed to avoid reading a value from a previous session
when loading for a continuing (non-new) session. The coarse-
grained approach of distinguishing new sessions from non-new
sessions was insufficient.
2016-12-06 09:33:52 +01:00
Mathew Sutcliffe
937cdbcc55
refs #756 Minor simplification and removal of unnecessary code.
2016-12-06 09:33:51 +01:00
Mathew Sutcliffe
64315e1022
refs #756 Allow to mark data cache traits with a session flag, so they are overwritten when starting a new session.
...
(Starting a new session means, that a swift application is started when no other swift application is running.)
2016-10-17 14:34:24 +01:00
Mathew Sutcliffe
3c82bb3a9c
Data cache shall emit an error message if it fails to save the revision file.
2016-08-26 21:04:40 +01:00
Mathew Sutcliffe
e7c9d3b62f
CDataCacheRevision: always need to lock the mutex when accessing m_updateInProgress.
2016-08-02 17:14:14 +01:00
Mathew Sutcliffe
88920501bf
refs #715 Assert no longer appropriate: pruning revision file means calling writeNewRevision when m_pendingWrite is false.
2016-08-02 05:09:39 +01:00
Mathew Sutcliffe
61f3655b2c
refs #695 Allow to set a mock root directory for caches, for unit tests.
2016-07-29 17:09:08 +01:00
Mathew Sutcliffe
9339991644
refs #715 When loading data cache, prune revision file to remove keys that weren't found.
2016-07-29 17:09:07 +01:00
Mathew Sutcliffe
242e041ceb
refs #679 CValueCache local signal relay moved to the point of emission, to tolerate different orders of initialization of application.
2016-06-30 02:06:16 +01:00
Klaus Basan
dc02ff2d0c
Addded log categories / human readable pattern
2016-06-29 01:04:44 +02:00
Mathew Sutcliffe
61127f9088
refs #672 Fixed getTimestampOnDisk returning wrong timestamp when called while loading is in progress.
2016-06-15 00:30:56 +01:00
Mathew Sutcliffe
183c4d9528
refs #659 Improved fix for spurious zeroing out of timestamps.
2016-06-08 21:39:18 +01:00
Roland Winklmeier
4180a890e4
Write settings, logs, cache, etc. into a installation dependent subfolder
...
refs #668
2016-06-08 21:30:56 +02:00
Mathew Sutcliffe
e67c07f8c5
refs #659 , #657 Fixed a mistake where admitting an uncached value could cause synchronize() to wait forever.
2016-06-06 18:27:52 +01:00
Mathew Sutcliffe
d53237cebc
refs #659 , #657 Fixed mistake in synchronize() where a future would be broken prematurely if async load had not yet started after 1 second timeout.
2016-06-06 18:27:51 +01:00
Mathew Sutcliffe
50de252ff6
refs #659 Fixed a bug where valid timestamps of unloaded values would be lost when writing a new .rev file.
2016-06-04 00:51:01 +01:00
Mathew Sutcliffe
0bb17414ac
refs #659 Cache value with timestamp of 0 should still be loadable.
2016-06-04 00:51:00 +01:00
Mathew Sutcliffe
8377ab2e51
refs #659 Method to get timestamp from revision file without loading value.
2016-06-04 00:50:59 +01:00
Mathew Sutcliffe
5559d1fcc6
refs #659 Use a threadsafe queue for admit(), to avoid a race with synchronize().
2016-06-04 00:50:54 +01:00
Mathew Sutcliffe
f1a9ae5a13
refs #659 Add the method CData::admit() which causes a value with deferred loading to be loaded.
2016-06-04 00:50:47 +01:00
Mathew Sutcliffe
29cea55bc9
refs #659 Allow setting a "deferred" flag in data cache values, causing the value not to be loaded.
2016-05-26 20:03:13 +01:00
Mathew Sutcliffe
d0d100da5e
refs #664 Use timestamps from .rev file instead of the filesystem timestamps of the json files.
2016-05-26 18:03:21 +01:00
Mathew Sutcliffe
4bc8326389
refs #664 Fixed bug in data cache log message creation.
2016-05-26 18:01:42 +01:00
Mathew Sutcliffe
f523197dfd
refs #657 Fixed race condition in synchronize().
2016-05-22 15:34:05 +01:00
Mathew Sutcliffe
9da53bd58b
refs #646 Added timestamps in data cache load/save log messages.
2016-05-22 15:34:05 +01:00
Mathew Sutcliffe
05b5971caf
refs #646 Log messages when saving and loading data cache values.
2016-05-22 15:34:05 +01:00
Mathew Sutcliffe
5a43ff8d20
refs #646 Fixed race condition between synchronize() and saveToStoreAsync().
2016-05-22 15:34:05 +01:00
Roland Winklmeier
3d7a39ed00
Fix BlackMisc header includes
...
* Include only what is used
* Use forward declaration when possible
* Sorted includes
refs #630
2016-05-13 17:05:49 +02:00
Mathew Sutcliffe
91db47c628
refs #626 Serializer gets its baseline values when it actually starts loading/saving, instead of just when the cache requests the load/save.
2016-04-03 18:17:45 +01:00
Mathew Sutcliffe
363ee7c54b
refs #626 Change the connection between serializer and data cache to a direct connection.
2016-04-03 18:17:45 +01:00
Mathew Sutcliffe
463a7c776a
refs #624 Use lambda init-capture.
2016-03-22 16:02:40 +00:00
Mathew Sutcliffe
91494ea2e5
refs #624 Swap functions, move constructors, and move assignment operators should all be noexcept where possible.
2016-03-21 02:20:01 +00:00
Mathew Sutcliffe
6b1b599275
refs #623 Fixed CDataPageQueue performance.
2016-03-19 19:41:33 +00:00
Klaus Basan
c3722f9198
refs #485 , refs #584 removed include blackmiscfreefunctions.h
2016-03-18 01:07:49 +00:00
Mathew Sutcliffe
259f8d7a68
refs #601 Introduce "pinned" values, which are loaded synchronously by the CDataCache constructor.
2016-03-18 01:07:41 +00:00
Mathew Sutcliffe
c6a038aaa8
refs #601 Simplify syncLoad and rename to synchronize.
...
Now it doesn't return anything, it just causes the next async get() to be synchronized with the latest loaded value.
It does this by hooking into the queue introduced in the previous commit.
2016-03-18 01:07:38 +00:00
Mathew Sutcliffe
06ad77ee9d
refs #601 CDataCache overrides connectPage to provide a queue that is more flexible than the usual Qt::QueuedConnection.
2016-03-18 01:07:32 +00:00
Mathew Sutcliffe
f680cee8ed
refs #601 Slot inhibitor no longer needed, this reverts commit:bc2e0faa.
2016-03-18 01:07:24 +00:00
Roland Winklmeier
1ea2f34f75
Fix doxygen documentation in src, samples and tests
...
refs #594
2016-02-16 20:01:33 +01:00
Mathew Sutcliffe
208c5ff3b4
refs #581 , #592 , #545 Remembered to use QFile::Text mode.
2016-02-06 19:45:52 +00:00
Mathew Sutcliffe
bef19a5240
refs #581 , #592 Allow to renew a stale value by updating the timestamp on disk without altering the value.
2016-02-06 19:45:51 +00:00
Mathew Sutcliffe
3bc145cc0c
refs #581 , #592 Should use CAtomicFile for writing the revision file.
2016-02-06 19:45:50 +00:00
Mathew Sutcliffe
a58dddfa19
refs #581 , #592 Make sure syncLoad checks if the next load would load the value, if it is not currently loading.
2016-02-06 19:45:49 +00:00
Mathew Sutcliffe
071dbda4b7
refs #581 Store a TTL value in the data cache revision file, skip loading a cached value if its timestamp is too old.
2016-02-06 19:45:48 +00:00