diff options
Diffstat (limited to 'storage/src/vespa/storage/persistence/filestorage/filestormanager.h')
-rw-r--r-- | storage/src/vespa/storage/persistence/filestorage/filestormanager.h | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/storage/src/vespa/storage/persistence/filestorage/filestormanager.h b/storage/src/vespa/storage/persistence/filestorage/filestormanager.h index cf004c58820..96cff8dfeee 100644 --- a/storage/src/vespa/storage/persistence/filestorage/filestormanager.h +++ b/storage/src/vespa/storage/persistence/filestorage/filestormanager.h @@ -1,10 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -/** - * @class storage::FileStorManager - * @ingroup filestorage - * - * @version $Id$ - */ +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once @@ -20,10 +14,11 @@ #include <vespa/storage/common/storagelinkqueued.h> #include <vespa/config-stor-filestor.h> #include <vespa/storage/persistence/diskthread.h> + #include <vespa/storage/common/nodestateupdater.h> #include <vespa/storageframework/generic/status/htmlstatusreporter.h> + #include <vespa/config/helper/ifetchercallback.h> -#include <vespa/vespalib/util/memory_trap.h> namespace config { class ConfigUri; @@ -41,7 +36,6 @@ namespace spi { struct PersistenceProvider; } class ContentBucketSpace; struct FileStorManagerTest; -class ReadBucketList; class BucketOwnershipNotifier; class AbortBucketOperationsCommand; struct DoneInitializeHandler; @@ -53,10 +47,11 @@ class ProviderErrorWrapper; class FileStorManager : public StorageLinkQueued, public framework::HtmlStatusReporter, public StateListener, - private config::IFetcherCallback<vespa::config::content::StorFilestorConfig>, public MessageSender, public spi::BucketExecutor { + using StorFilestorConfig = vespa::config::content::StorFilestorConfig; + ServiceLayerComponentRegister & _compReg; ServiceLayerComponent _component; std::unique_ptr<spi::PersistenceProvider> _provider; @@ -68,14 +63,8 @@ class FileStorManager : public StorageLinkQueued, std::unique_ptr<BucketOwnershipNotifier> _bucketOwnershipNotifier; std::unique_ptr<vespa::config::content::StorFilestorConfig> _config; - std::unique_ptr<config::ConfigFetcher> _configFetcher; bool _use_async_message_handling_on_schedule; std::shared_ptr<FileStorMetrics> _metrics; - // Spray&pray over a few different size classes - std::unique_ptr<vespalib::HeapMemoryTrap> _mem_trap_1; - std::unique_ptr<vespalib::HeapMemoryTrap> _mem_trap_2; - std::unique_ptr<vespalib::HeapMemoryTrap> _mem_trap_3; - std::unique_ptr<vespalib::HeapMemoryTrap> _mem_trap_4; std::unique_ptr<FileStorHandler> _filestorHandler; std::unique_ptr<vespalib::ISequencedTaskExecutor> _sequencedExecutor; @@ -86,7 +75,7 @@ class FileStorManager : public StorageLinkQueued, std::unique_ptr<vespalib::IDestructorCallback> _resource_usage_listener_registration; public: - FileStorManager(const config::ConfigUri &, spi::PersistenceProvider&, + FileStorManager(const StorFilestorConfig&, spi::PersistenceProvider&, ServiceLayerComponentRegister&, DoneInitializeHandler&, HostInfo&); FileStorManager(const FileStorManager &) = delete; FileStorManager& operator=(const FileStorManager &) = delete; @@ -122,8 +111,9 @@ public: const FileStorMetrics& get_metrics() const { return *_metrics; } + void on_configure(const vespa::config::content::StorFilestorConfig& config); + private: - void configure(std::unique_ptr<vespa::config::content::StorFilestorConfig> config) override; PersistenceHandler & createRegisteredHandler(const ServiceLayerComponent & component); VESPA_DLL_LOCAL PersistenceHandler & getThreadLocalHandler(); |