Commit Graph

59 Commits

Author SHA1 Message Date
Sebastian Messmer
5c9cc509d7 Make classes final if they're not meant to be derived from 2015-11-27 14:06:40 +01:00
Sebastian Messmer
b83be2c32d Fix compiler warning 2015-11-26 19:29:16 +01:00
Sebastian Messmer
fb733929d8 Code is compatible with gcc 4.8 2015-11-24 14:39:41 +01:00
Sebastian Messmer
06b78f1b80 Adapt to new cpputils 2015-11-12 13:07:59 -08:00
Sebastian Messmer
1bd64c2f7f Added comment explaining why we use boost/thread 2015-10-28 15:30:59 +01:00
Sebastian Messmer
52366fb707 Use cpputils threads that also work fine when fork()-ed 2015-10-28 15:00:49 +01:00
Sebastian Messmer
62549eeae6 Adapt to new cpputils::Random interface 2015-10-22 17:41:43 +02:00
Sebastian Meßmer
a4ce9f1c97 Fix warnings from -Weffc++ 2015-10-17 21:10:26 +02:00
Sebastian Meßmer
e9470ffb78 Logging instead of stderr 2015-10-17 17:50:30 +02:00
Sebastian Meßmer
62e0a177fb Use cpputils::logging 2015-10-17 03:30:42 +02:00
Sebastian Meßmer
821550e62f Unify (and fix) include guards 2015-10-15 13:09:21 +02:00
Sebastian Meßmer
9a27cea138 Increase parallelity level for cache flushing 2015-10-15 05:45:49 +02:00
Sebastian Meßmer
92d0d073a5 Fix test cases 2015-10-15 04:49:31 +02:00
Sebastian Messmer
2ccdcb5b98 Cache destructs elements in parallel in destructor 2015-10-14 14:40:45 +02:00
Sebastian Messmer
210c2c2811 Fix compiler error in test cases 2015-10-08 18:05:09 +02:00
Sebastian Messmer
260bc1056a Make cache MAX_SIZE configurable 2015-10-07 17:24:13 +02:00
Sebastian Messmer
5bb77adc87 Added Cache::size() 2015-10-05 16:51:36 +02:00
Sebastian Messmer
73101b74ea Better locking for cache 2015-10-01 15:52:43 +02:00
Sebastian Messmer
84330b1100 Cache has better parallelity - we can push()/pop() while it is flushing and flushing is actually parallel 2015-10-01 13:51:01 +02:00
Sebastian Messmer
c8c13517e0 TODOs 2015-10-01 02:00:34 +02:00
Sebastian Messmer
942a627173 Better fix for Cache race condition 2015-10-01 01:52:21 +02:00
Sebastian Messmer
90471ea6a3 Fixed Cache race condition and added test for it 2015-10-01 01:20:40 +02:00
Sebastian Messmer
c9f07762a4 Removed unnecessary debug calculation 2015-09-29 20:04:12 +02:00
Sebastian Messmer
959ef62a38 Cache is flushed in parallel 2015-09-29 20:01:51 +02:00
Sebastian Messmer
fd93e4c199 Use the new assert that doesn't crash the program in a release build 2015-07-22 13:42:07 +02:00
Sebastian Messmer
37bdbd907a Finished migrating to unique_ref instead of unique_ptr 2015-07-21 18:19:34 +02:00
Sebastian Messmer
7c407c4b69 Switched whole blockstore interface to unique_ref instead of unique_ptr 2015-07-21 14:50:52 +02:00
Sebastian Messmer
a945e4f0fc Changed Blockstore::tryCreate() to return optional<unique_ref<Block>> instead of unique_ptr<Block> 2015-07-20 18:57:48 +02:00
Sebastian Messmer
c755717898 Adapt to new cpp-utils 2015-06-21 17:43:31 +02:00
Sebastian Meßmer
8cfa133676 Removed some unneeded usings 2015-06-18 12:45:05 +02:00
Sebastian Meßmer
48c5493780 Started implementing parallel writing to disk 2015-05-16 13:45:25 +02:00
Sebastian Messmer
d589910b0d TODOs 2015-04-27 23:10:30 +02:00
Sebastian Messmer
1ff807e09c Make Cache a generic over Key/Value. Furthermore, add test skeleton for Cache 2015-04-27 22:46:57 +02:00
Sebastian Messmer
f286886b49 Handle QueueMap::push(existing_key) better and write more test cases for QueueMap 2015-04-27 22:11:15 +02:00
Sebastian Messmer
2110831374 Make constructors explicit where adequate 2015-04-27 18:20:51 +02:00
Sebastian Messmer
58f43f6929 Remove unneeded field in cache entry 2015-04-27 18:20:44 +02:00
Sebastian Messmer
bc33f69877 TODOs 2015-04-27 10:47:33 +02:00
Sebastian Messmer
6f1c39fd21 QueueMap: Added more test cases and improved interface 2015-04-27 10:35:01 +02:00
Sebastian Messmer
e177c6f45c Switch to a QueueMap implementation with less indirections (directly store elements instead of pointers) 2015-04-27 01:22:39 +02:00
Sebastian Messmer
1f14598d25 Added Test Cases for PeriodicTask 2015-04-26 12:36:19 +02:00
Sebastian Messmer
59bfddc18f Moved Data, FixedSizeData and DataBlockFixture to cpp-utils 2015-04-25 02:48:41 +02:00
Sebastian Messmer
03597b9474 Code formatting & TODOs 2015-04-24 13:42:37 +02:00
Sebastian Meßmer
90c7bad8d6 Removed debug output 2015-04-18 16:59:44 +02:00
Sebastian Meßmer
c1551121c8 Cache-Entries are purged after a max lifetime 2015-04-18 16:50:19 +02:00
Sebastian Meßmer
417a701636 - BlockStore::create() gets the data of the new block as a parameter
- Fixed numBlocks() in OnDiskBlockStore, FakeBlockStore, CachingBlockStore, ...
- CachingBlockStore caches created blocks and doesn't directly create them in the underlying blockstore
2015-04-18 14:47:12 +02:00
Sebastian Messmer
c7eab5c504 Removed unused function 2015-04-17 13:20:16 +02:00
Sebastian Messmer
75253c74ea Key is not default constructible anymore 2015-04-17 12:59:40 +02:00
Sebastian Messmer
4a5416dbec Use unordered_map instead of map for cache 2015-04-17 12:56:21 +02:00
Sebastian Messmer
9fa6b041eb Renamed old Caching2BlockStore to new CachingBlockStore 2015-04-16 14:10:44 +02:00
Sebastian Messmer
248fd0f5cc Renamed old CachingBlockStore to ParallelAccessBlockStore 2015-04-16 13:59:52 +02:00