aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore/src/apps/vespa-feed-bm/i_bm_feed_handler.h
diff options
context:
space:
mode:
Diffstat (limited to 'searchcore/src/apps/vespa-feed-bm/i_bm_feed_handler.h')
-rw-r--r--searchcore/src/apps/vespa-feed-bm/i_bm_feed_handler.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/searchcore/src/apps/vespa-feed-bm/i_bm_feed_handler.h b/searchcore/src/apps/vespa-feed-bm/i_bm_feed_handler.h
new file mode 100644
index 00000000000..a3341bf14c9
--- /dev/null
+++ b/searchcore/src/apps/vespa-feed-bm/i_bm_feed_handler.h
@@ -0,0 +1,30 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+#pragma once
+
+#include <memory>
+
+namespace document {
+class Bucket;
+class Document;
+class DocumentUpdate;
+class DocumentId;
+}
+
+namespace feedbm {
+
+class PendingTracker;
+
+/*
+ * Interface class for benchmark feed handler.
+ */
+class IBmFeedHandler
+{
+public:
+ virtual ~IBmFeedHandler() = default;
+ virtual void put(const document::Bucket& bucket, std::unique_ptr<document::Document> document, uint64_t timestamp, PendingTracker& tracker) = 0;
+ virtual void update(const document::Bucket& bucket, std::unique_ptr<document::DocumentUpdate> document_update, uint64_t timestamp, PendingTracker& tracker) = 0;
+ virtual void remove(const document::Bucket& bucket, const document::DocumentId& document_id, uint64_t timestamp, PendingTracker& tracker) = 0;
+};
+
+}