#pragma once #include "logic/reactor.h" #include "messages.pb.h" #include "services.grpc.pb.h" #include #include #include class Service : public chat::Chat::CallbackService { public: ~Service(); grpc::ServerBidiReactor * sendMsg(grpc::CallbackServerContext *context) override; void sendToAll(chat::chatMsg &msg); private: std::map m_clients; absl::Mutex m_mu; std::vector m_messages ABSL_GUARDED_BY(m_mu); };