#ifndef __LISTENER_H__ #define __LISTENER_H__ #include #include #include #include class SharedState; class Listener : public std::enable_shared_from_this { public: Listener(boost::asio::io_context &ioContext, const boost::asio::ip::tcp::endpoint &endpoint, const std::shared_ptr &state); void startAccept(); protected: void onAccept(boost::beast::error_code errorCode, std::shared_ptr socket); private: boost::asio::io_context &m_ioContext; boost::asio::ip::tcp::acceptor m_acceptor; std::weak_ptr m_state; }; #endif // __LISTENER_H__