summaryrefslogtreecommitdiffstats
path: root/persistence
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-01-15 23:30:30 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2021-01-15 23:30:30 +0000
commitbfa4fbddaa847c3fe593485951a528b60c5f6412 (patch)
tree18a242070466c72f3077e5ae16c3193029e25a32 /persistence
parentb275087c2a110a1dc9aca0662f7ed01e2e7928ec (diff)
Use forward declarations to reduce amount of included code.
Diffstat (limited to 'persistence')
-rw-r--r--persistence/src/vespa/persistence/spi/abstractpersistenceprovider.cpp7
-rw-r--r--persistence/src/vespa/persistence/spi/abstractpersistenceprovider.h2
-rw-r--r--persistence/src/vespa/persistence/spi/persistenceprovider.h6
3 files changed, 11 insertions, 4 deletions
diff --git a/persistence/src/vespa/persistence/spi/abstractpersistenceprovider.cpp b/persistence/src/vespa/persistence/spi/abstractpersistenceprovider.cpp
index 252edb5dd7f..facdb2cadfa 100644
--- a/persistence/src/vespa/persistence/spi/abstractpersistenceprovider.cpp
+++ b/persistence/src/vespa/persistence/spi/abstractpersistenceprovider.cpp
@@ -5,6 +5,7 @@
#include <vespa/document/update/documentupdate.h>
#include <vespa/document/fieldset/fieldsets.h>
#include <vespa/document/fieldvalue/document.h>
+#include <vespa/vespalib/util/idestructorcallback.h>
namespace storage::spi {
@@ -29,4 +30,10 @@ AbstractPersistenceProvider::getModifiedBuckets(BucketSpace) const
return BucketIdListResult(list);
}
+std::unique_ptr<vespalib::IDestructorCallback>
+AbstractPersistenceProvider::register_executor(std::shared_ptr<BucketExecutor>)
+{
+ return {};
+}
+
}
diff --git a/persistence/src/vespa/persistence/spi/abstractpersistenceprovider.h b/persistence/src/vespa/persistence/spi/abstractpersistenceprovider.h
index 6bb24f582e3..5023febe9a2 100644
--- a/persistence/src/vespa/persistence/spi/abstractpersistenceprovider.h
+++ b/persistence/src/vespa/persistence/spi/abstractpersistenceprovider.h
@@ -49,7 +49,7 @@ public:
*/
BucketIdListResult getModifiedBuckets(BucketSpace bucketSpace) const override;
- std::unique_ptr<vespalib::IDestructorCallback> register_executor(std::shared_ptr<BucketExecutor>) override { return {}; }
+ std::unique_ptr<vespalib::IDestructorCallback> register_executor(std::shared_ptr<BucketExecutor>) override;
};
}
diff --git a/persistence/src/vespa/persistence/spi/persistenceprovider.h b/persistence/src/vespa/persistence/spi/persistenceprovider.h
index 9ba752c2579..eeb0f472f4a 100644
--- a/persistence/src/vespa/persistence/spi/persistenceprovider.h
+++ b/persistence/src/vespa/persistence/spi/persistenceprovider.h
@@ -10,8 +10,6 @@
#include "selection.h"
#include "clusterstate.h"
#include "operationcomplete.h"
-#include "bucketexecutor.h"
-#include <vespa/vespalib/util/idestructorcallback.h>
namespace document { class FieldSet; }
namespace vespalib { class IDestructorCallback; }
@@ -19,6 +17,8 @@ namespace vespalib { class IDestructorCallback; }
namespace storage::spi {
class IResourceUsageListener;
+class BucketTask;
+class BucketExecutor;
/**
* This interface is the basis for a persistence provider in Vespa. A
@@ -384,7 +384,7 @@ struct PersistenceProvider
* Register a listener for updates to resource usage.
* The listener is deregistered when the returned object is destroyed.
*/
- virtual std::unique_ptr<vespalib::IDestructorCallback> register_resource_usage_listener(IResourceUsageListener& listener) = 0;
+ [[nodiscard]] virtual std::unique_ptr<vespalib::IDestructorCallback> register_resource_usage_listener(IResourceUsageListener& listener) = 0;
/**
* Provides an execute interface that can be used by the provider to execute tasks while bucket guarantees are upheld.