diff options
Diffstat (limited to 'include/framework/DynamicExtension.h')
| -rw-r--r-- | include/framework/DynamicExtension.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/include/framework/DynamicExtension.h b/include/framework/DynamicExtension.h index 62aaf88..0331353 100644 --- a/include/framework/DynamicExtension.h +++ b/include/framework/DynamicExtension.h @@ -413,8 +413,27 @@ private: static void reconstruction(void *arguments) { auto args = (ReconstructionArgs<ShardType, QueryType> *)arguments; + auto extension = (DynamicExtension *) args->extension; + extension->SetThreadAffinity(); + + if (args->priority == ReconstructionPriority::FLUSH) { + /* we first construct a shard from the buffer */ + auto buffview = args->version->get_buffer(); + auto new_head = buffview.get_tail(); + auto new_shard = Shard(std::move(buffview)); + + /* copy the currently active version's structure */ + auto structure = extension->get_active_version()->get_structure()->clone(); + + + } + - ((DynamicExtension *)args->extension)->SetThreadAffinity(); + else { + + } + + Structure *vers = args->version->get_mutable_structure(); ReconstructionTask flush_task; |