5#include <grpcpp/server_builder.h>
7#include <userver/ugrpc/impl/completion_queues.hpp>
8#include <userver/utils/fast_pimpl.hpp>
10USERVER_NAMESPACE_BEGIN
12namespace ugrpc::
server::impl {
18class QueueHolder
final {
20 explicit QueueHolder(std::size_t num, grpc::ServerBuilder& server_builder);
22 QueueHolder(QueueHolder&&) =
delete;
23 QueueHolder& operator=(QueueHolder&&) =
delete;
26 std::size_t GetSize()
const;
28 grpc::ServerCompletionQueue& GetQueue(std::size_t i);
30 const ugrpc::impl::CompletionQueues& GetQueues();
34 utils::FastPimpl<Impl, 48, 8> impl_;