6#include <userver/components/component_base.hpp>
7#include <userver/dynamic_config/snapshot.hpp>
8#include <userver/server/congestion_control/limiter.hpp>
9#include <userver/server/congestion_control/sensor.hpp>
10#include <userver/utils/fast_pimpl.hpp>
11#include <userver/utils/statistics/entry.hpp>
13USERVER_NAMESPACE_BEGIN
15namespace congestion_control {
40 static constexpr std::string_view
kName =
"congestion-control";
44 ~Component()
override;
48 server::congestion_control::Limiter& GetServerLimiter();
49 server::congestion_control::Sensor& GetServerSensor();
50 const congestion_control::Controller& GetServerController()
const;
53 void OnConfigUpdate(
const dynamic_config::Snapshot& cfg);
55 void OnAllComponentsLoaded()
override;
57 void OnAllComponentsAreStopping()
override;
59 void ExtendWriter(utils::statistics::Writer& writer);
62 utils::FastPimpl<Impl, 704, 16> pimpl_;
68inline constexpr bool components::kHasValidate<congestion_control::Component> =
true;