userver: userver/ugrpc/server/middlewares/congestion_control/component.hpp Source File
Loading...
Searching...
No Matches
component.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/ugrpc/server/middlewares/congestion_control/component.hpp
4/// @brief @copybrief
5/// ugrpc::server::middlewares::congestion_control::Component
6
7#include <userver/ugrpc/server/middlewares/base.hpp>
8
9USERVER_NAMESPACE_BEGIN
10
11/// Server congestion_control middleware
12namespace ugrpc::server::middlewares::congestion_control {
13
14class Middleware;
15
16/// @ingroup userver_components userver_base_classes
17///
18/// @brief Component for gRPC server logging
19class Component final : public MiddlewareComponentBase {
20 public:
21 /// @ingroup userver_component_names
22 /// @brief The default name of
23 /// ugrpc::server::middlewares::congestion_control::Component
24 static constexpr std::string_view kName = "grpc-server-congestion-control";
25
26 Component(const components::ComponentConfig& config,
27 const components::ComponentContext& context);
28
29 std::shared_ptr<MiddlewareBase> GetMiddleware() override;
30
31 static yaml_config::Schema GetStaticConfigSchema();
32
33 private:
34 std::shared_ptr<Middleware> middleware_;
35};
36
37} // namespace ugrpc::server::middlewares::congestion_control
38
39USERVER_NAMESPACE_END