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.cpp48
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));
-}
-
}