6#include <userver/components/component_fwd.hpp>
7#include <userver/components/impl/component_base.hpp>
8#include <userver/concurrent/async_event_source.hpp>
9#include <userver/dynamic_config/snapshot.hpp>
10#include <userver/engine/task/task_processor_fwd.hpp>
11#include <userver/utils/statistics/entry.hpp>
13USERVER_NAMESPACE_BEGIN
63class ManagerControllerComponent
final :
public impl::ComponentBase {
65 ManagerControllerComponent(
const components::ComponentConfig& config,
68 ~ManagerControllerComponent()
override;
70 static constexpr std::string_view kName =
"manager-controller";
73 void WriteStatistics(
utils::statistics::Writer& writer);
75 void OnConfigUpdate(
const dynamic_config::Snapshot& cfg);
77 const components::Manager& components_manager_;
78 utils::statistics::Entry statistics_holder_;
79 concurrent::AsyncEventSubscriberScope config_subscription_;
83inline constexpr auto kConfigFileMode<ManagerControllerComponent> =