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
79class ManagerControllerComponent
final :
public RawComponentBase {
83 static constexpr std::string_view
kName =
"manager-controller";
85 ManagerControllerComponent(
const components::ComponentConfig& config,
const components::ComponentContext& context);
87 ~ManagerControllerComponent()
override;
90 void WriteStatistics(utils::statistics::Writer& writer);
92 void OnConfigUpdate(
const dynamic_config::Snapshot& cfg);
94 const components::impl::Manager& components_manager_;
95 concurrent::AsyncEventSubscriberScope config_subscription_;
99inline constexpr auto kConfigFileMode<ManagerControllerComponent> = ConfigFileMode::kNotRequired;