userver: congestion_control::Component Class Reference
Loading...
Searching...
No Matches
congestion_control::Component Class Referencefinal

#include <userver/congestion_control/component.hpp>

Detailed Description

Component to limit too active requests, also known as CC.

congestion_control::Component Dynamic config

Static options:

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

Static configuration example:

# yaml
congestion-control:
fake-mode: true
min-cpu: 2
only-rtc: false
# Uncomment if you want to change status code for ratelimited responses
# status-code: 503
# Common component options
load-enabled: true

Definition at line 41 of file component.hpp.

+ Inheritance diagram for congestion_control::Component:

Public Member Functions

 Component (const components::ComponentConfig &, const components::ComponentContext &)
 
server::congestion_control::LimiterGetServerLimiter ()
 
server::congestion_control::SensorGetServerSensor ()
 
ComponentHealth GetComponentHealth () const override
 
void OnLoadingCancelled () 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
 Legacy alias, use ComponentBase instead.
 

Member Typedef Documentation

◆ LoggableComponentBase

using components::ComponentBase::LoggableComponentBase = ComponentBase
protectedinherited

Legacy alias, use ComponentBase instead.

Definition at line 67 of file component_base.hpp.

Member Function Documentation

◆ GetComponentHealth()

ComponentHealth components::ComponentBase::GetComponentHealth ( ) const
inlineoverridevirtualinherited

Override this function to inform the world of the state of your component.

Warning
The function is called concurrently from multiple threads.

Reimplemented from components::RawComponentBase.

Reimplemented in server::handlers::Restart.

Definition at line 35 of file component_base.hpp.

◆ OnLoadingCancelled()

void components::ComponentBase::OnLoadingCancelled ( )
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.


The documentation for this class was generated from the following file: