6#include <userver/components/component_fwd.hpp>
7#include <userver/components/raw_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
75class ManagerControllerComponent
final :
public RawComponentBase {
79 static constexpr std::string_view
kName =
"manager-controller";
81 ManagerControllerComponent(
const components::ComponentConfig& config,
const components::ComponentContext& context);
83 ~ManagerControllerComponent()
override;
86 void WriteStatistics(utils::statistics::Writer& writer);
88 void OnConfigUpdate(
const dynamic_config::Snapshot& cfg);
90 const components::impl::Manager& components_manager_;
91 utils::statistics::Entry statistics_holder_;
92 concurrent::AsyncEventSubscriberScope config_subscription_;
96inline constexpr auto kConfigFileMode<ManagerControllerComponent> = ConfigFileMode::kNotRequired;