diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-10-15 22:53:58 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-15 22:53:58 +0200 |
commit | b66bb8b16e238b8b0219ccc8f6327bad7f7b8abd (patch) | |
tree | 11c074b0e262e18f290747e07535c599bf17c34e /persistence | |
parent | 01404bb83012174e81986dee2939e529edfa5d94 (diff) |
Revert "- Refactor and use CatchResult in the PersistenceEngine in preparatio…"
Diffstat (limited to 'persistence')
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>(); |