6#include <google/protobuf/message.h>
7#include <grpcpp/server_context.h>
9#include <userver/tracing/span.hpp>
10#include <userver/ugrpc/impl/internal_tag_fwd.hpp>
11#include <userver/ugrpc/impl/statistics_scope.hpp>
12#include <userver/ugrpc/server/impl/call_params.hpp>
13#include <userver/ugrpc/server/middlewares/fwd.hpp>
15USERVER_NAMESPACE_BEGIN
42 grpc::ServerContext&
GetContext() {
return params_.context; }
92 CallAnyBase(
utils::impl::InternalTag, impl::CallParams&& params,
CallKind call_kind)
93 : params_(std::move(params)), call_kind_(call_kind) {}
96 ugrpc::impl::RpcStatisticsScope& GetStatistics(ugrpc::impl::InternalTag);
99 void RunMiddlewarePipeline(
utils::impl::InternalTag, MiddlewareCallContext& md_call_context);
103 ugrpc::impl::RpcStatisticsScope& GetStatistics() {
return params_.statistics; }
105 logging::LoggerRef AccessTskvLogger() {
return params_.access_tskv_logger; }
107 void LogFinish(grpc::Status status)
const;
109 void ApplyRequestHook(google::protobuf::Message* request);
111 void ApplyResponseHook(google::protobuf::Message* response);
114 impl::CallParams params_;
116 MiddlewareCallContext* middleware_call_context_{
nullptr};