diff options
author | Tor Egge <Tor.Egge@online.no> | 2022-04-27 13:58:32 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2022-04-27 13:59:55 +0200 |
commit | 8f6fb7f0fb7ca6dbe3f7b91e732c757bb7060d06 (patch) | |
tree | 2ee9f5d8ba7d3b6566f61cc306fcccc47d154005 /vespalib/src/tests/datastore | |
parent | 9ab10c80ee9af5d287abecaf2c6971497c8bb820 (diff) |
Use atomic counters in vespalib::datastore::BufferState.
Diffstat (limited to 'vespalib/src/tests/datastore')
-rw-r--r-- | vespalib/src/tests/datastore/buffer_type/buffer_type_test.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/vespalib/src/tests/datastore/buffer_type/buffer_type_test.cpp b/vespalib/src/tests/datastore/buffer_type/buffer_type_test.cpp index a31dfffc25b..6988e41add1 100644 --- a/vespalib/src/tests/datastore/buffer_type/buffer_type_test.cpp +++ b/vespalib/src/tests/datastore/buffer_type/buffer_type_test.cpp @@ -12,9 +12,9 @@ constexpr uint32_t NUM_ARRAYS_FOR_NEW_BUFFER(0); struct Setup { uint32_t _minArrays; - ElemCount _usedElems; + std::atomic<ElemCount> _usedElems; ElemCount _neededElems; - ElemCount _deadElems; + std::atomic<ElemCount> _deadElems; uint32_t _bufferId; float _allocGrowFactor; bool _resizing; @@ -27,6 +27,7 @@ struct Setup { _allocGrowFactor(0.5), _resizing(false) {} + Setup(const Setup& rhs); Setup &minArrays(uint32_t value) { _minArrays = value; return *this; } Setup &used(size_t value) { _usedElems = value; return *this; } Setup &needed(size_t value) { _neededElems = value; return *this; } @@ -35,6 +36,17 @@ struct Setup { Setup &resizing(bool value) { _resizing = value; return *this; } }; +Setup::Setup(const Setup& rhs) + : _minArrays(rhs._minArrays), + _usedElems(rhs._usedElems.load(std::memory_order_relaxed)), + _neededElems(rhs._neededElems), + _deadElems(rhs._deadElems.load(std::memory_order_relaxed)), + _bufferId(rhs._bufferId), + _allocGrowFactor(rhs._allocGrowFactor), + _resizing(rhs._resizing) +{ +} + struct Fixture { std::vector<Setup> setups; IntBufferType bufferType; |