aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore/src/apps/vespa-feed-bm/spi_bm_feed_handler.h
diff options
context:
space:
mode:
Diffstat (limited to 'searchcore/src/apps/vespa-feed-bm/spi_bm_feed_handler.h')
-rw-r--r--searchcore/src/apps/vespa-feed-bm/spi_bm_feed_handler.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/searchcore/src/apps/vespa-feed-bm/spi_bm_feed_handler.h b/searchcore/src/apps/vespa-feed-bm/spi_bm_feed_handler.h
new file mode 100644
index 00000000000..5b56a4f21dd
--- /dev/null
+++ b/searchcore/src/apps/vespa-feed-bm/spi_bm_feed_handler.h
@@ -0,0 +1,26 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+#pragma once
+
+#include "i_bm_feed_handler.h"
+
+namespace storage::spi { struct PersistenceProvider; }
+
+namespace feedbm {
+
+/*
+ * Benchmark feed handler for feed directly to persistence provider
+ */
+class SpiBmFeedHandler : public IBmFeedHandler
+{
+ storage::spi::PersistenceProvider& _provider;
+public:
+ SpiBmFeedHandler(storage::spi::PersistenceProvider& provider);
+ ~SpiBmFeedHandler();
+ void put(const document::Bucket& bucket, std::unique_ptr<document::Document> document, uint64_t timestamp, PendingTracker& tracker) override;
+ void update(const document::Bucket& bucket, std::unique_ptr<document::DocumentUpdate> document_update, uint64_t timestamp, PendingTracker& tracker) override;
+ void remove(const document::Bucket& bucket, const document::DocumentId& document_id, uint64_t timestamp, PendingTracker& tracker) override;
+ void create_bucket(const document::Bucket& bucket);
+};
+
+}