aboutsummaryrefslogtreecommitdiffstats
path: root/persistence/src/vespa/persistence/spi/persistenceprovider.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'persistence/src/vespa/persistence/spi/persistenceprovider.cpp')
-rw-r--r--persistence/src/vespa/persistence/spi/persistenceprovider.cpp20
1 files changed, 1 insertions, 19 deletions
diff --git a/persistence/src/vespa/persistence/spi/persistenceprovider.cpp b/persistence/src/vespa/persistence/spi/persistenceprovider.cpp
index 9d40a494ca6..575a95269c5 100644
--- a/persistence/src/vespa/persistence/spi/persistenceprovider.cpp
+++ b/persistence/src/vespa/persistence/spi/persistenceprovider.cpp
@@ -1,31 +1,13 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "persistenceprovider.h"
+#include "catchresult.h"
#include <future>
-#include <cassert>
namespace storage::spi {
PersistenceProvider::~PersistenceProvider() = default;
-class CatchResult : public OperationComplete {
-public:
- CatchResult() : _promisedResult(), _resulthandler(nullptr) {}
- std::future<Result::UP> future_result() {
- return _promisedResult.get_future();
- }
- void onComplete(Result::UP result) override {
- _promisedResult.set_value(std::move(result));
- }
- void addResultHandler(const ResultHandler * resultHandler) override {
- assert(_resulthandler == nullptr);
- _resulthandler = resultHandler;
- }
-private:
- std::promise<Result::UP> _promisedResult;
- const ResultHandler *_resulthandler;
-};
-
Result
PersistenceProvider::put(const Bucket& bucket, Timestamp timestamp, DocumentSP doc, Context& context) {
auto catcher = std::make_unique<CatchResult>();