From 4bbe42a77b6782fd6889e673c10316f7e668eae8 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Wed, 20 May 2009 18:18:37 +0200 Subject: Listener Thread-sicher gemacht --- src/Net/Listener.h | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) (limited to 'src/Net/Listener.h') 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, std::pair > connections; + std::map, std::pair > connections; boost::signal1 > signal; - void handleAccept(const boost::system::error_code &error, boost::shared_ptr con); + void handleAccept(const boost::system::error_code &error, boost::shared_ptr con); - void handleConnect(boost::shared_ptr con); - void handleDisconnect(boost::shared_ptr con); + void handleConnect(boost::shared_ptr con); + void handleDisconnect(boost::shared_ptr con); public: Listener(const std::string &x905CertFile0, const std::string &x905KeyFile0, -- cgit v1.2.3