aboutsummaryrefslogtreecommitdiffstats
path: root/vespalib
diff options
context:
space:
mode:
authorGeir Storli <geirst@verizonmedia.com>2020-09-01 13:31:34 +0000
committerGeir Storli <geirst@verizonmedia.com>2020-09-01 13:31:34 +0000
commitb03f940de972b0b05d3b44b208bbdc15c7b47c1a (patch)
treeb356ca5587220fc480bdd560c9e101a22e642185 /vespalib
parentd2711310822f39f4e5aa4eb4cc107e9f84719450 (diff)
Move DefaultReclaimer from vespalib::btree to vespalib::datastore.
Diffstat (limited to 'vespalib')
-rw-r--r--vespalib/src/vespa/vespalib/btree/btreestore.h2
-rw-r--r--vespalib/src/vespa/vespalib/btree/btreestore.hpp4
-rw-r--r--vespalib/src/vespa/vespalib/datastore/array_store.hpp4
-rw-r--r--vespalib/src/vespa/vespalib/datastore/datastore.h9
4 files changed, 9 insertions, 10 deletions
diff --git a/vespalib/src/vespa/vespalib/btree/btreestore.h b/vespalib/src/vespa/vespalib/btree/btreestore.h
index dfc4d86aca0..7889d90278a 100644
--- a/vespalib/src/vespa/vespalib/btree/btreestore.h
+++ b/vespalib/src/vespa/vespalib/btree/btreestore.h
@@ -133,7 +133,7 @@ public:
BTreeTypeRefPair
allocBTreeCopy(const BTreeType &rhs) {
- return _store.freeListAllocator<BTreeType, DefaultReclaimer<BTreeType> >(BUFFERTYPE_BTREE).alloc(rhs);
+ return _store.freeListAllocator<BTreeType, datastore::DefaultReclaimer<BTreeType> >(BUFFERTYPE_BTREE).alloc(rhs);
}
KeyDataTypeRefPair
diff --git a/vespalib/src/vespa/vespalib/btree/btreestore.hpp b/vespalib/src/vespa/vespalib/btree/btreestore.hpp
index bb7238506ed..8c8c73ba87a 100644
--- a/vespalib/src/vespa/vespalib/btree/btreestore.hpp
+++ b/vespalib/src/vespa/vespalib/btree/btreestore.hpp
@@ -85,7 +85,7 @@ allocKeyData(uint32_t clusterSize)
{
assert(clusterSize >= 1 && clusterSize <= clusterLimit);
uint32_t typeId = clusterSize - 1;
- return _store.freeListAllocator<KeyDataType, DefaultReclaimer<KeyDataType>>(typeId).allocArray(clusterSize);
+ return _store.freeListAllocator<KeyDataType, datastore::DefaultReclaimer<KeyDataType>>(typeId).allocArray(clusterSize);
}
@@ -111,7 +111,7 @@ allocKeyDataCopy(const KeyDataType *rhs, uint32_t clusterSize)
{
assert(clusterSize >= 1 && clusterSize <= clusterLimit);
uint32_t typeId = clusterSize - 1;
- return _store.freeListAllocator<KeyDataType, DefaultReclaimer<KeyDataType>>(typeId).
+ return _store.freeListAllocator<KeyDataType, datastore::DefaultReclaimer<KeyDataType>>(typeId).
allocArray(vespalib::ConstArrayRef<KeyDataType>(rhs, clusterSize));
}
diff --git a/vespalib/src/vespa/vespalib/datastore/array_store.hpp b/vespalib/src/vespa/vespalib/datastore/array_store.hpp
index d43245db1de..aa085698aa9 100644
--- a/vespalib/src/vespa/vespalib/datastore/array_store.hpp
+++ b/vespalib/src/vespa/vespalib/datastore/array_store.hpp
@@ -84,7 +84,7 @@ EntryRef
ArrayStore<EntryT, RefT>::addSmallArray(const ConstArrayRef &array)
{
uint32_t typeId = getTypeId(array.size());
- using NoOpReclaimer = btree::DefaultReclaimer<EntryT>;
+ using NoOpReclaimer = DefaultReclaimer<EntryT>;
return _store.template freeListAllocator<EntryT, NoOpReclaimer>(typeId).allocArray(array).ref;
}
@@ -92,7 +92,7 @@ template <typename EntryT, typename RefT>
EntryRef
ArrayStore<EntryT, RefT>::addLargeArray(const ConstArrayRef &array)
{
- using NoOpReclaimer = btree::DefaultReclaimer<LargeArray>;
+ using NoOpReclaimer = DefaultReclaimer<LargeArray>;
auto handle = _store.template freeListAllocator<LargeArray, NoOpReclaimer>(_largeArrayTypeId)
.alloc(array.cbegin(), array.cend());
auto& state = _store.getBufferState(RefT(handle.ref).bufferId());
diff --git a/vespalib/src/vespa/vespalib/datastore/datastore.h b/vespalib/src/vespa/vespalib/datastore/datastore.h
index 4b908452b32..4bcd06fdb21 100644
--- a/vespalib/src/vespa/vespalib/datastore/datastore.h
+++ b/vespalib/src/vespa/vespalib/datastore/datastore.h
@@ -8,8 +8,11 @@
#include "free_list_raw_allocator.h"
#include "raw_allocator.h"
-namespace vespalib::btree {
+namespace vespalib::datastore {
+/**
+ * Default noop reclaimer used together with datastore allocators.
+ */
template<typename EntryType>
struct DefaultReclaimer {
static void reclaim(EntryType *entry) {
@@ -17,10 +20,6 @@ struct DefaultReclaimer {
}
};
-}
-
-namespace vespalib::datastore {
-
/**
* Concrete data store using the given EntryRef type to reference stored data.
*/