#pragma once #include "Session.h" #include #include #include #include class SessionManager { public: static SessionManager &GetInstance(); bool TryJoin(std::shared_ptr session, const std::string &nickname); void Leave(std::shared_ptr session); void Broadcast(PacketHeader header, std::span body); private: std::mutex mutex_; std::set> sessions_; };