summaryrefslogtreecommitdiffstats
path: root/include/framework/reconstruction/CompactOnFull.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/framework/reconstruction/CompactOnFull.h')
-rw-r--r--include/framework/reconstruction/CompactOnFull.h37
1 files changed, 22 insertions, 15 deletions
diff --git a/include/framework/reconstruction/CompactOnFull.h b/include/framework/reconstruction/CompactOnFull.h
index f5e0400..f0b549d 100644
--- a/include/framework/reconstruction/CompactOnFull.h
+++ b/include/framework/reconstruction/CompactOnFull.h
@@ -21,11 +21,14 @@ class CompactOnFull : public ReconstructionPolicy<ShardType, QueryType> {
LevelVector;
public:
- CompactOnFull(size_t scale_factor, size_t buffer_size, size_t size_modifier=0)
- : m_scale_factor(scale_factor), m_buffer_size(buffer_size), m_size_modifier(size_modifier) {}
-
- std::vector<ReconstructionVector> get_reconstruction_tasks(
- const Version<ShardType, QueryType> *version, LockManager &lock_mngr) const override {
+ CompactOnFull(size_t scale_factor, size_t buffer_size,
+ size_t size_modifier = 0)
+ : m_scale_factor(scale_factor), m_buffer_size(buffer_size),
+ m_size_modifier(size_modifier) {}
+
+ std::vector<ReconstructionVector>
+ get_reconstruction_tasks(const Version<ShardType, QueryType> *version,
+ LockManager &lock_mngr) const override {
std::vector<ReconstructionVector> reconstructions;
auto levels = version->get_structure()->get_level_vector();
@@ -34,23 +37,24 @@ public:
return {};
}
- for (level_index i=0; i < (ssize_t) levels.size(); i++) {
- if (levels[i]->get_shard_count() >= m_scale_factor && lock_mngr.take_lock(i, version->get_id())) {
+ for (level_index i = 0; i < (ssize_t)levels.size(); i++) {
+ if (levels[i]->get_shard_count() >= m_scale_factor &&
+ lock_mngr.take_lock(i, version->get_id())) {
ReconstructionVector recon;
size_t total_reccnt = levels[i]->get_record_count();
std::vector<ShardID> shards;
- for (ssize_t j=0; j<(ssize_t) levels[i]->get_shard_count(); j++) {
- shards.push_back({i,j});
+ for (ssize_t j = 0; j < (ssize_t)levels[i]->get_shard_count(); j++) {
+ shards.push_back({i, j});
}
- recon.add_reconstruction(shards, i+1, total_reccnt, ReconstructionType::Compact);
+ recon.add_reconstruction(shards, i + 1, total_reccnt,
+ ReconstructionType::Compact);
reconstructions.push_back(recon);
}
}
- return reconstructions;
- }
-
+ return reconstructions;
+ }
ReconstructionVector
get_flush_tasks(const Version<ShardType, QueryType> *version) const override {
@@ -60,7 +64,8 @@ public:
}
private:
- level_index find_reconstruction_target(LevelVector &levels, size_t reccnt) const {
+ level_index find_reconstruction_target(LevelVector &levels,
+ size_t reccnt) const {
level_index target_level = invalid_level_idx;
for (level_index i = 1; i < (level_index)levels.size(); i++) {
@@ -73,7 +78,9 @@ private:
return target_level;
}
- inline size_t capacity(size_t reccnt) const { return m_scale_factor * std::pow(std::log(reccnt), m_size_modifier); }
+ inline size_t capacity(size_t reccnt) const {
+ return m_scale_factor * std::pow(std::log(reccnt), m_size_modifier);
+ }
size_t m_scale_factor;
size_t m_buffer_size;