summaryrefslogtreecommitdiffstats
path: root/include/util/types.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/util/types.h')
-rw-r--r--include/util/types.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/util/types.h b/include/util/types.h
index 084bf4b..6e8fd69 100644
--- a/include/util/types.h
+++ b/include/util/types.h
@@ -21,6 +21,7 @@
#include <cstdint>
#include <cstdlib>
#include <vector>
+#include <memory>
namespace de {
@@ -81,6 +82,14 @@ enum class ReconstructionType {
Compact /* the merging of shards on one level */
};
+
+template <typename ShardType>
+struct reconstruction_results {
+ std::shared_ptr<ShardType> new_shard;
+ std::vector<std::pair<level_index, const ShardType *>> source_shards;
+ size_t target_level;
+};
+
typedef struct ReconstructionTask {
std::vector<ShardID> sources = {};
level_index target = 0;