diff options
Diffstat (limited to 'storage/src/vespa/storage/distributor/distributor_stripe_operation_context.h')
-rw-r--r-- | storage/src/vespa/storage/distributor/distributor_stripe_operation_context.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/storage/src/vespa/storage/distributor/distributor_stripe_operation_context.h b/storage/src/vespa/storage/distributor/distributor_stripe_operation_context.h index 518c83d7ffa..a5afadad6a7 100644 --- a/storage/src/vespa/storage/distributor/distributor_stripe_operation_context.h +++ b/storage/src/vespa/storage/distributor/distributor_stripe_operation_context.h @@ -4,7 +4,6 @@ #include "bucketgctimecalculator.h" #include "bucketownership.h" -#include "distributor_operation_context.h" #include "operation_routing_snapshot.h" #include <vespa/document/bucket/bucketspace.h> #include <vespa/storage/bucketdb/bucketdatabase.h> @@ -12,6 +11,7 @@ #include <vespa/storageapi/defs.h> namespace document { class Bucket; } +namespace storage::lib { class ClusterStateBundle; } namespace storage::distributor { @@ -20,9 +20,17 @@ class PendingMessageTracker; /** * Interface with functionality that is used when handling distributor stripe operations. */ -class DistributorStripeOperationContext : public DistributorOperationContext { +class DistributorStripeOperationContext { public: virtual ~DistributorStripeOperationContext() = default; + + virtual api::Timestamp generate_unique_timestamp() = 0; + virtual const DistributorBucketSpaceRepo& bucket_space_repo() const noexcept = 0; + virtual DistributorBucketSpaceRepo& bucket_space_repo() noexcept = 0; + virtual const DistributorBucketSpaceRepo& read_only_bucket_space_repo() const noexcept = 0; + virtual DistributorBucketSpaceRepo& read_only_bucket_space_repo() noexcept = 0; + virtual const DistributorConfiguration& distributor_config() const noexcept = 0; + virtual void update_bucket_database(const document::Bucket& bucket, const BucketCopy& changed_node, uint32_t update_flags = 0) = 0; |