8#include <userver/components/component_base.hpp>
9#include <userver/utils/not_null.hpp>
11#include <userver/ugrpc/client/client_factory.hpp>
12#include <userver/ugrpc/client/fwd.hpp>
14USERVER_NAMESPACE_BEGIN
16namespace ugrpc::client {
27 static ClientFactory& FindFactory(
32 static ClientSettings MakeClientSettings(
34 const dynamic_config::Key<
ClientQos>* client_qos
73template <
typename Client>
78 : SimpleClientComponentAny(config, context),
79 client_(utils::MakeSharedRef<
80 Client>(FindFactory(config, context).MakeClient<Client>(MakeClientSettings(config,
nullptr))))
88 const dynamic_config::Key<
ClientQos>& client_qos
90 : SimpleClientComponentAny(config, context),
91 client_(utils::MakeSharedRef<
92 Client>(FindFactory(config, context).MakeClient<Client>(MakeClientSettings(config, &client_qos))))
103 utils::SharedRef<Client> client_;
110template <
typename Client>
111inline constexpr bool kHasValidate<ugrpc::client::SimpleClientComponent<Client>> =
true;