/* * include/framework/reconstruction/ReconstructionPolicy.h * * Reconstruction class interface, used to implement custom reconstruction * policies. * * Copyright (C) 2023-2024 Douglas B. Rumbaugh * Dong Xie * * Distributed under the Modified BSD License. * */ #pragma once #include "util/types.h" #include "framework/structure/ExtensionStructure.h" #include "framework/scheduling/Version.h" namespace de { template QueryType> class ReconstructionPolicy { typedef ExtensionStructure StructureType; public: ReconstructionPolicy() {} virtual ReconstructionVector get_reconstruction_tasks(const Version *version, size_t incoming_reccnt) const = 0; virtual ReconstructionVector get_flush_tasks(const Version *version) const = 0; }; }