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/base.hpp>
7#include <userver/ugrpc/client/middlewares/deadline_propagation/middleware.hpp>
8
9USERVER_NAMESPACE_BEGIN
10
11/// Client logging middleware
12/// @see @ref scripts/docs/en/userver/grpc/client_middlewares.md
13/// @see @ref ugrpc::client::middlewares::deadline_propagation::Component
14namespace ugrpc::client::middlewares::deadline_propagation {
15
16// clang-format off
17
18/// @ingroup userver_components
19///
20/// @brief Component for gRPC client deadline_propagation. Update deadline
21/// from TaskInheritedData if it exists and more strict than
22/// context deadline.
23/// @see @ref scripts/docs/en/userver/deadline_propagation.md
24///
25/// The component does **not** have any options for service config.
26///
27/// ## Static configuration example:
28///
29/// @snippet grpc/functional_tests/basic_chaos/static_config.yaml Sample grpc client deadline propagation middleware component config
30///
31/// @see @ref scripts/docs/en/userver/grpc/client_middlewares.md
32
33// clang-format on
34
35using Component = SimpleMiddlewareFactoryComponent<Middleware>;
36
37} // namespace ugrpc::client::middlewares::deadline_propagation
38
39template <>
40inline constexpr auto components::kConfigFileMode<ugrpc::client::middlewares::deadline_propagation::Component> =
42
43USERVER_NAMESPACE_END