9#include <grpcpp/support/byte_buffer.h>
11#include <userver/ugrpc/client/call_options.hpp>
12#include <userver/ugrpc/client/generic_options.hpp>
13#include <userver/ugrpc/client/impl/client_data.hpp>
14#include <userver/ugrpc/client/response_future.hpp>
15#include <userver/ugrpc/impl/static_service_metadata.hpp>
17USERVER_NAMESPACE_BEGIN
19namespace ugrpc::client {
48class GenericClient
final {
50 GenericClient(GenericClient&&)
noexcept =
default;
51 GenericClient& operator=(GenericClient&&)
noexcept =
delete;
55 std::string_view call_name,
56 const grpc::ByteBuffer& request,
63 std::string_view call_name,
64 const grpc::ByteBuffer& request,
71 explicit GenericClient(impl::ClientInternals&&);
73 static std::optional<ugrpc::impl::StaticServiceMetadata> GetMetadata() {
return std::nullopt; }
77 template <
typename Client>
78 friend impl::ClientData& impl::GetClientData(Client& client);
80 impl::ClientData impl_;