diff options
Diffstat (limited to 'persistence/src/vespa/persistence/spi/persistenceprovider.cpp')
-rw-r--r-- | persistence/src/vespa/persistence/spi/persistenceprovider.cpp | 20 |
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>(); |