/* * 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/Epoch.h" namespace de { template QueryType> class ReconstructionPolicy { typedef ExtensionStructure StructureType; public: ReconstructionPolicy() {} virtual ReconstructionVector get_reconstruction_tasks(const Epoch *epoch, size_t incoming_reccnt) const = 0; virtual ReconstructionTask get_flush_task(const Epoch *epoch) const = 0; }; }