diff options
Diffstat (limited to 'persistence/src/vespa/persistence/spi/persistenceprovider.cpp')
-rw-r--r-- | persistence/src/vespa/persistence/spi/persistenceprovider.cpp | 48 |
1 files changed, 16 insertions, 32 deletions
diff --git a/persistence/src/vespa/persistence/spi/persistenceprovider.cpp b/persistence/src/vespa/persistence/spi/persistenceprovider.cpp index 575a95269c5..3ea476c33fc 100644 --- a/persistence/src/vespa/persistence/spi/persistenceprovider.cpp +++ b/persistence/src/vespa/persistence/spi/persistenceprovider.cpp @@ -9,19 +9,27 @@ namespace storage::spi { PersistenceProvider::~PersistenceProvider() = default; Result -PersistenceProvider::put(const Bucket& bucket, Timestamp timestamp, DocumentSP doc, Context& context) { +PersistenceProvider::setActiveState(const Bucket& bucket, BucketInfo::ActiveState activeState) { auto catcher = std::make_unique<CatchResult>(); auto future = catcher->future_result(); - putAsync(bucket, timestamp, std::move(doc), context, std::move(catcher)); + setActiveStateAsync(bucket, activeState, std::move(catcher)); + return *future.get(); +} + +Result +PersistenceProvider::deleteBucket(const Bucket& bucket, Context& context) { + auto catcher = std::make_unique<CatchResult>(); + auto future = catcher->future_result(); + deleteBucketAsync(bucket, context, std::move(catcher)); return *future.get(); } -void -PersistenceProvider::putAsync(const Bucket &bucket, Timestamp timestamp, DocumentSP doc, Context &context, - OperationComplete::UP onComplete) -{ - Result result = put(bucket, timestamp, std::move(doc), context); - onComplete->onComplete(std::make_unique<Result>(result)); +Result +PersistenceProvider::put(const Bucket& bucket, Timestamp timestamp, DocumentSP doc, Context& context) { + auto catcher = std::make_unique<CatchResult>(); + auto future = catcher->future_result(); + putAsync(bucket, timestamp, std::move(doc), context, std::move(catcher)); + return *future.get(); } RemoveResult @@ -32,14 +40,6 @@ PersistenceProvider::remove(const Bucket& bucket, Timestamp timestamp, const Doc return dynamic_cast<const RemoveResult &>(*future.get()); } -void -PersistenceProvider::removeAsync(const Bucket &bucket, Timestamp timestamp, const DocumentId & docId, Context &context, - OperationComplete::UP onComplete) -{ - RemoveResult result = remove(bucket, timestamp, docId, context); - onComplete->onComplete(std::make_unique<RemoveResult>(result)); -} - RemoveResult PersistenceProvider::removeIfFound(const Bucket& bucket, Timestamp timestamp, const DocumentId & docId, Context& context) { auto catcher = std::make_unique<CatchResult>(); @@ -48,14 +48,6 @@ PersistenceProvider::removeIfFound(const Bucket& bucket, Timestamp timestamp, co return dynamic_cast<const RemoveResult &>(*future.get()); } -void -PersistenceProvider::removeIfFoundAsync(const Bucket &bucket, Timestamp timestamp, const DocumentId & docId, Context &context, - OperationComplete::UP onComplete) -{ - RemoveResult result = removeIfFound(bucket, timestamp, docId, context); - onComplete->onComplete(std::make_unique<RemoveResult>(result)); -} - UpdateResult PersistenceProvider::update(const Bucket& bucket, Timestamp timestamp, DocumentUpdateSP upd, Context& context) { auto catcher = std::make_unique<CatchResult>(); @@ -64,12 +56,4 @@ PersistenceProvider::update(const Bucket& bucket, Timestamp timestamp, DocumentU return dynamic_cast<const UpdateResult &>(*future.get()); } -void -PersistenceProvider::updateAsync(const Bucket &bucket, Timestamp timestamp, DocumentUpdateSP upd, Context &context, - OperationComplete::UP onComplete) -{ - UpdateResult result = update(bucket, timestamp, std::move(upd), context); - onComplete->onComplete(std::make_unique<UpdateResult>(result)); -} - } |