summaryrefslogtreecommitdiffstats
path: root/include/framework/scheduling/Task.h
diff options
context:
space:
mode:
authorDouglas Rumbaugh <dbr4@psu.edu>2023-10-23 17:43:22 -0400
committerDouglas Rumbaugh <dbr4@psu.edu>2023-10-23 17:43:22 -0400
commit3afacb7702e6d8fa67749a2a41dc776d315e02a9 (patch)
tree8ea0e864d6098dd939e738a09033da7ed7877f4b /include/framework/scheduling/Task.h
parentb72103cb11347f0dd108bd2321f29b0d6ab05106 (diff)
downloaddynamic-extension-3afacb7702e6d8fa67749a2a41dc776d315e02a9.tar.gz
Began moving to an explicit epoch-based system
I started moving over to an explicit Epoch based system, which has necessitated a ton of changes throughout the code base. This will ultimately allow for a much cleaner set of abstractions for managing concurrency.
Diffstat (limited to 'include/framework/scheduling/Task.h')
-rw-r--r--include/framework/scheduling/Task.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/include/framework/scheduling/Task.h b/include/framework/scheduling/Task.h
index 518159d..94c4d0a 100644
--- a/include/framework/scheduling/Task.h
+++ b/include/framework/scheduling/Task.h
@@ -8,20 +8,20 @@
#include <functional>
#include "framework/util/Configuration.h"
+#include "framework/scheduling/Epoch.h"
namespace de {
+template <RecordInterface R, ShardInterface S, QueryInterface Q, LayoutPolicy L>
struct MergeArgs {
- void *version;
- void *buffer;
+ Epoch<R, S, Q, L> *epoch;
std::vector<MergeTask> merges;
std::promise<bool> result;
};
-template <typename R>
+template <RecordInterface R, ShardInterface S, QueryInterface Q, LayoutPolicy L>
struct QueryArgs {
- void *version;
- void *buffer;
+ Epoch<R, S, Q, L> *epoch;
std::promise<std::vector<R>> result_set;
void *query_parms;
};