#include <userver/congestion_control/component.hpp>
Component to limit too active requests, also known as CC.
| Name | Description | Default value |
|---|---|---|
| fake-mode | If set, an actual throttling is skipped, but FSM is still working and producing informational logs. | false |
| min-cpu | Force fake-mode if the current cpu number is less than the specified value. | 1 |
| only-rtc | If set to true and hostinfo::IsInRtc() returns false then forces the fake-mode. | true |
| status-code | HTTP status code for ratelimited responses. | 429 |
Options inherited from components::ComponentBase :
| Name | Description | Default value |
|---|---|---|
| load-enabled | Set to false to disable loading of the component. | true |
Definition at line 36 of file component.hpp.
Inheritance diagram for congestion_control::Component:Public Member Functions | |
| Component (const components::ComponentConfig &, const components::ComponentContext &) | |
| server::congestion_control::Limiter & | GetServerLimiter () |
| server::congestion_control::Sensor & | GetServerSensor () |
| const congestion_control::Controller & | GetServerController () const |
| ComponentHealth | GetComponentHealth () const override |
| void | OnLoadingCancelled () override |
| void | OnGracefulShutdown (engine::Deadline) override |
Static Public Member Functions | |
| static yaml_config::Schema | GetStaticConfigSchema () |
Static Public Attributes | |
| static constexpr std::string_view | kName = "congestion-control" |
| The default name of congestion_control::Component component. | |
Protected Types | |
| using | LoggableComponentBase = ComponentBase |
|
protectedinherited |
Definition at line 79 of file component_base.hpp.
|
inlineoverridevirtualinherited |
Override this function to inform the world of the state of your component.
Reimplemented from components::RawComponentBase.
Reimplemented in server::handlers::Restart.
Definition at line 35 of file component_base.hpp.
|
overridevirtualinherited |
Serving components like HTTP and gRPC servers may use this function to stop accepting new requests and shutdown serving in the given time interval. Application components likely do not need to override it.
| [in] | serving_shutdown_deadline | The deadline until already running requests should be allowed to complete. The component is supposed to stop accepting new requests and continue processing of already active requests until this deadline (unless those requests finish earlier). And it might completely shutdown requests processing when the deadline is reached (or when no active requests left). |
Reimplemented from components::RawComponentBase.
Reimplemented in components::Server.
|
inlineoverridevirtualinherited |
Called once if the creation of any other component failed. If the current component expects some other component to take any action with the current component, this call is a signal that such action may never happen due to components loading was cancelled. Application components might not want to override it.
Reimplemented from components::RawComponentBase.
Definition at line 42 of file component_base.hpp.