userver: userver/ugrpc/client/middlewares/deadline_propagation/component.hpp Source File
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
component.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/ugrpc/client/middlewares/deadline_propagation/component.hpp
4/// @brief @copybrief ugrpc::client::middlewares::deadline_propagation::Component
5
6#include <userver/ugrpc/client/middlewares/deadline_propagation/middleware.hpp>
7
8USERVER_NAMESPACE_BEGIN
9
10/// Client logging middleware
11/// @see @ref scripts/docs/en/userver/grpc/client_middlewares.md
12/// @see @ref ugrpc::client::middlewares::deadline_propagation::Component
13namespace ugrpc::client::middlewares::deadline_propagation {
14
15// clang-format off
16
17/// @ingroup userver_components
18///
19/// @brief Component for gRPC client deadline_propagation. Update deadline
20/// from TaskInheritedData if it exists and more strict than
21/// context deadline.
22/// @see @ref scripts/docs/en/userver/deadline_propagation.md
23///
24/// The component does **not** have any options for service config.
25///
26/// ## Static configuration example:
27///
28/// @snippet grpc/functional_tests/basic_chaos/static_config.yaml Sample grpc client deadline propagation middleware component config
29///
30/// @see @ref scripts/docs/en/userver/grpc/client_middlewares.md
31
32// clang-format on
33
34using Component = SimpleMiddlewareFactoryComponent<Middleware>;
35
36} // namespace ugrpc::client::middlewares::deadline_propagation
37
38template <>
39inline constexpr auto components::kConfigFileMode<ugrpc::client::middlewares::deadline_propagation::Component> =
41
42USERVER_NAMESPACE_END