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