Commit Graph

77 Commits

Author SHA1 Message Date
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
Mathew Sutcliffe
e0607eb83c refs #581 Synchronous loading of data cache value by returning a future.
CDataCacheRevision maintains a list of promises corresponding to the futures, so they can be delivered
when the loading is finished. Corresponding notification slot is inhibited to avoid duplicate notification.
2016-02-06 19:45:47 +00:00
Mathew Sutcliffe
c1d3e2aabb refs #581 Refactoring: extract method applyDeferredChanges. 2016-02-06 19:45:46 +00:00
Mathew Sutcliffe
97fad301ae refs #581 Use JSON to store timestamps in data cache revision file. 2016-02-06 19:45:45 +00:00
Mathew Sutcliffe
ef38c1620f refs #581 Refactor data cache revision file logic into new class CDataCacheRevision. 2016-02-06 19:45:44 +00:00
Mathew Sutcliffe
2c0b4f9555 refs #545 CValueCache keeps track of which values have been saved. 2016-01-27 23:37:44 +00:00
Klaus Basan
070ba8f158 refs #559, moved cache/settings to blackmisc 2015-12-20 17:00:10 +01:00