diff options
Diffstat (limited to 'src/Net/Listener.h')
-rw-r--r-- | src/Net/Listener.h | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/src/Net/Listener.h b/src/Net/Listener.h index 0833cdf..903c907 100644 --- a/src/Net/Listener.h +++ b/src/Net/Listener.h @@ -29,29 +29,23 @@ namespace Mad { namespace Net { -// TODO XXX Thread-safeness XXX class Listener : boost::noncopyable { private: - class ServerConnection : public Connection { - public: - friend class Listener; - - ServerConnection(boost::asio::ssl::context &sslContext) : Connection(sslContext) {} - }; + boost::mutex mutex; std::string x905CertFile, x905KeyFile; boost::asio::ip::tcp::endpoint address; boost::asio::ip::tcp::acceptor acceptor; boost::asio::ssl::context sslContext; - std::map<boost::shared_ptr<ServerConnection>, std::pair<boost::signals::connection, boost::signals::connection> > connections; + std::map<boost::shared_ptr<Connection>, std::pair<boost::signals::connection, boost::signals::connection> > connections; boost::signal1<void, boost::shared_ptr<Connection> > signal; - void handleAccept(const boost::system::error_code &error, boost::shared_ptr<ServerConnection> con); + void handleAccept(const boost::system::error_code &error, boost::shared_ptr<Connection> con); - void handleConnect(boost::shared_ptr<ServerConnection> con); - void handleDisconnect(boost::shared_ptr<ServerConnection> con); + void handleConnect(boost::shared_ptr<Connection> con); + void handleDisconnect(boost::shared_ptr<Connection> con); public: Listener(const std::string &x905CertFile0, const std::string &x905KeyFile0, |