#pragma once #include #include #include #include namespace math::server { class Session; using SessionPtr = std::shared_ptr; class SessionManager { public: SessionManager() = default; SessionPtr make_session(boost::asio::io_context&); void start(const SessionPtr&); void stop(const SessionPtr&); void stop_all(); private: std::mutex m_mtx; std::unordered_set m_sessions; }; }