aboutsummaryrefslogtreecommitdiffstats
path: root/persistence
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-10-15 22:53:58 +0200
committerGitHub <noreply@github.com>2021-10-15 22:53:58 +0200
commitb66bb8b16e238b8b0219ccc8f6327bad7f7b8abd (patch)
tree11c074b0e262e18f290747e07535c599bf17c34e /persistence
parent01404bb83012174e81986dee2939e529edfa5d94 (diff)
Revert "- Refactor and use CatchResult in the PersistenceEngine in preparatio…"
Diffstat (limited to 'persistence')
-rw-r--r--persistence/src/vespa/persistence/spi/CMakeLists.txt1
-rw-r--r--persistence/src/vespa/persistence/spi/catchresult.cpp25
-rw-r--r--persistence/src/vespa/persistence/spi/catchresult.h22
-rw-r--r--persistence/src/vespa/persistence/spi/persistenceprovider.cpp20
4 files changed, 19 insertions, 49 deletions
diff --git a/persistence/src/vespa/persistence/spi/CMakeLists.txt b/persistence/src/vespa/persistence/spi/CMakeLists.txt
index eda3ffb228f..14550ef97a6 100644
--- a/persistence/src/vespa/persistence/spi/CMakeLists.txt
+++ b/persistence/src/vespa/persistence/spi/CMakeLists.txt
@@ -5,7 +5,6 @@ vespa_add_library(persistence_spi OBJECT
attribute_resource_usage.cpp
bucket.cpp
bucketinfo.cpp
- catchresult.cpp
clusterstate.cpp
context.cpp
docentry.cpp
diff --git a/persistence/src/vespa/persistence/spi/catchresult.cpp b/persistence/src/vespa/persistence/spi/catchresult.cpp
deleted file mode 100644
index 3dbe8cfdf7e..00000000000
--- a/persistence/src/vespa/persistence/spi/catchresult.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-
-#include "catchresult.h"
-#include "result.h"
-#include <cassert>
-
-namespace storage::spi {
-
-CatchResult::CatchResult()
- : _promisedResult(),
- _resulthandler(nullptr)
-{}
-CatchResult::~CatchResult() = default;
-
-void
-CatchResult::onComplete(std::unique_ptr<Result> result) {
- _promisedResult.set_value(std::move(result));
-}
-void
-CatchResult::addResultHandler(const ResultHandler * resultHandler) {
- assert(_resulthandler == nullptr);
- _resulthandler = resultHandler;
-}
-
-}
diff --git a/persistence/src/vespa/persistence/spi/catchresult.h b/persistence/src/vespa/persistence/spi/catchresult.h
deleted file mode 100644
index 80d4f863971..00000000000
--- a/persistence/src/vespa/persistence/spi/catchresult.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-
-#include "operationcomplete.h"
-#include <future>
-
-namespace storage::spi {
-
-class CatchResult : public OperationComplete {
-public:
- CatchResult();
- ~CatchResult() override;
- std::future<std::unique_ptr<Result>> future_result() {
- return _promisedResult.get_future();
- }
- void onComplete(std::unique_ptr<Result> result) override;
- void addResultHandler(const ResultHandler * resultHandler) override;
-private:
- std::promise<std::unique_ptr<Result>> _promisedResult;
- const ResultHandler *_resulthandler;
-};
-
-}
diff --git a/persistence/src/vespa/persistence/spi/persistenceprovider.cpp b/persistence/src/vespa/persistence/spi/persistenceprovider.cpp
index 575a95269c5..9d40a494ca6 100644
--- a/persistence/src/vespa/persistence/spi/persistenceprovider.cpp
+++ b/persistence/src/vespa/persistence/spi/persistenceprovider.cpp
@@ -1,13 +1,31 @@
// 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>();