summaryrefslogtreecommitdiffstats
path: root/include/util/types.h
diff options
context:
space:
mode:
authorDouglas Rumbaugh <dbr4@psu.edu>2025-02-13 18:13:33 -0500
committerDouglas Rumbaugh <dbr4@psu.edu>2025-02-13 18:13:33 -0500
commitd28f2cfcd4249fc7d984762a326e3f2d6dcba7dc (patch)
treeea6fc7e80da2fec969c423ab50b42301397c9188 /include/util/types.h
parent125e243cad99aa29444759e15053fd148ff0e3ba (diff)
downloaddynamic-extension-d28f2cfcd4249fc7d984762a326e3f2d6dcba7dc.tar.gz
progress towards resolving asynch structure merges
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;