6#include <boost/container/flat_map.hpp>
8#include <userver/engine/task/task_processor_fwd.hpp>
10#include <userver/ugrpc/server/call_context.hpp>
11#include <userver/ugrpc/server/impl/service_worker.hpp>
12#include <userver/ugrpc/server/middlewares/fwd.hpp>
13#include <userver/ugrpc/status_codes.hpp>
15USERVER_NAMESPACE_BEGIN
17namespace ugrpc::server {
20struct ServiceInternals;
24struct ServiceConfig
final {
26 engine::TaskProcessor& task_processor;
29 Middlewares middlewares;
33 boost::container::flat_map<grpc::StatusCode,
logging::
Level> status_codes_log_level;
41 using CallContext = ugrpc::server::CallContext;
43 ServiceBase& operator=(ServiceBase&&) =
delete;
44 virtual ~ServiceBase();
50 virtual std::unique_ptr<impl::ServiceWorker> MakeWorker(impl::ServiceInternals&& internals) = 0;