diff options
author | Tor Egge <Tor.Egge@broadpark.no> | 2020-09-29 15:18:38 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@broadpark.no> | 2020-09-29 15:20:13 +0200 |
commit | 9c21ba2339433de72b58a99c856a68dd4de71d4e (patch) | |
tree | 1dac26b95d974dec21de2eaa2e95c92ce3c5035c /storage | |
parent | cae8ba3bfc5573828a6e4a28d2616694b09cb616 (diff) |
Add support for setting storage chain builder for distributor node.
Diffstat (limited to 'storage')
-rw-r--r-- | storage/src/vespa/storage/storageserver/distributornode.cpp | 6 | ||||
-rw-r--r-- | storage/src/vespa/storage/storageserver/distributornode.h | 5 |
2 files changed, 9 insertions, 2 deletions
diff --git a/storage/src/vespa/storage/storageserver/distributornode.cpp b/storage/src/vespa/storage/storageserver/distributornode.cpp index 3d1f9bbaf2e..8c2441b5eed 100644 --- a/storage/src/vespa/storage/storageserver/distributornode.cpp +++ b/storage/src/vespa/storage/storageserver/distributornode.cpp @@ -20,7 +20,8 @@ DistributorNode::DistributorNode( DistributorNodeContext& context, ApplicationGenerationFetcher& generationFetcher, NeedActiveState activeState, - StorageLink::UP communicationManager) + StorageLink::UP communicationManager, + std::unique_ptr<IStorageChainBuilder> storage_chain_builder) : StorageNode(configUri, context, generationFetcher, std::unique_ptr<HostInfo>(new HostInfo()), communicationManager.get() == 0 ? NORMAL @@ -32,6 +33,9 @@ DistributorNode::DistributorNode( _manageActiveBucketCopies(activeState == NEED_ACTIVE_BUCKET_STATES_SET), _retrievedCommunicationManager(std::move(communicationManager)) { + if (storage_chain_builder) { + set_storage_chain_builder(std::move(storage_chain_builder)); + } try{ initialize(); } catch (const vespalib::NetworkSetupFailureException & e) { diff --git a/storage/src/vespa/storage/storageserver/distributornode.h b/storage/src/vespa/storage/storageserver/distributornode.h index 39614674bb5..2a5149aa8ac 100644 --- a/storage/src/vespa/storage/storageserver/distributornode.h +++ b/storage/src/vespa/storage/storageserver/distributornode.h @@ -15,6 +15,8 @@ namespace storage { +class IStorageChainBuilder; + class DistributorNode : public StorageNode, private UniqueTimeCalculator @@ -38,7 +40,8 @@ public: DistributorNodeContext&, ApplicationGenerationFetcher& generationFetcher, NeedActiveState, - std::unique_ptr<StorageLink> communicationManager); + std::unique_ptr<StorageLink> communicationManager, + std::unique_ptr<IStorageChainBuilder> storage_chain_builder); ~DistributorNode() override; const lib::NodeType& getNodeType() const override { return lib::NodeType::DISTRIBUTOR; } |