#pragma once #include #include #include #include #include #include "diff.h" #include "config.h" #include "connectionregistry.h" #include "storage.h" class Webchat { public: Webchat(); int run(int argc, char* argv[]); private: std::unique_ptr m_config; std::unique_ptr m_storage; std::mutex m_storage_mutex; ConnectionRegistry m_registry; std::unique_ptr m_ioc; std::unique_ptr m_acceptor; void do_accept(); void on_accept(boost::system::error_code ec, boost::asio::ip::tcp::socket socket); void touch_all_connections(); };