summaryrefslogtreecommitdiffstats
path: root/storageserver/src/vespa/storageserver/app/process.h
diff options
context:
space:
mode:
Diffstat (limited to 'storageserver/src/vespa/storageserver/app/process.h')
-rw-r--r--storageserver/src/vespa/storageserver/app/process.h26
1 files changed, 22 insertions, 4 deletions
diff --git a/storageserver/src/vespa/storageserver/app/process.h b/storageserver/src/vespa/storageserver/app/process.h
index e70427c6e04..a30611b78c8 100644
--- a/storageserver/src/vespa/storageserver/app/process.h
+++ b/storageserver/src/vespa/storageserver/app/process.h
@@ -14,10 +14,15 @@
#pragma once
+#include <vespa/config-bucketspaces.h>
+#include <vespa/config-stor-distribution.h>
+#include <vespa/config/subscription/configsubscriber.h>
+#include <vespa/config/subscription/configuri.h>
#include <vespa/document/config/config-documenttypes.h>
+#include <vespa/storage/config/config-stor-bouncer.h>
+#include <vespa/storage/config/config-stor-communicationmanager.h>
+#include <vespa/storage/config/config-stor-server.h>
#include <vespa/storage/storageserver/applicationgenerationfetcher.h>
-#include <vespa/config/subscription/configuri.h>
-#include <vespa/config/subscription/configsubscriber.h>
namespace document { class DocumentTypeRepo; }
@@ -28,19 +33,32 @@ struct StorageNodeContext;
class Process : public ApplicationGenerationFetcher {
protected:
+ using DocumentTypesConfig = document::config::DocumenttypesConfig;
+ using BucketspacesConfig = vespa::config::content::core::BucketspacesConfig;
+ using CommunicationManagerConfig = vespa::config::content::core::StorCommunicationmanagerConfig;
+ using StorBouncerConfig = vespa::config::content::core::StorBouncerConfig;
+ using StorDistributionConfig = vespa::config::content::StorDistributionConfig;
+ using StorServerConfig = vespa::config::content::core::StorServerConfig;
+
using DocumentTypeRepoSP = std::shared_ptr<const document::DocumentTypeRepo>;
config::ConfigUri _configUri;
DocumentTypeRepoSP getTypeRepo() { return _repos.back(); }
config::ConfigSubscriber _configSubscriber;
+ std::unique_ptr<config::ConfigHandle<DocumentTypesConfig>> _document_cfg_handle;
+ std::unique_ptr<config::ConfigHandle<BucketspacesConfig>> _bucket_spaces_cfg_handle;
+ std::unique_ptr<config::ConfigHandle<CommunicationManagerConfig>> _comm_mgr_cfg_handle;
+ std::unique_ptr<config::ConfigHandle<StorBouncerConfig>> _bouncer_cfg_handle;
+ std::unique_ptr<config::ConfigHandle<StorDistributionConfig>> _distribution_cfg_handle;
+ std::unique_ptr<config::ConfigHandle<StorServerConfig>> _server_cfg_handle;
+
private:
- config::ConfigHandle<document::config::DocumenttypesConfig>::UP _documentHandler;
std::vector<DocumentTypeRepoSP> _repos;
public:
using UP = std::unique_ptr<Process>;
- Process(const config::ConfigUri & configUri);
+ explicit Process(const config::ConfigUri & configUri);
~Process() override;
virtual void setupConfig(vespalib::duration subscribeTimeout);