// ********************************************************************** // // Copyright (c) 2003 // ZeroC, Inc. // Billerica, MA, USA // // All Rights Reserved. // // Ice is free software; you can redistribute it and/or modify it under // the terms of the GNU General Public License version 2 as published by // the Free Software Foundation. // // ********************************************************************** #ifndef ICE_CONNECTION_MONITOR_H #define ICE_CONNECTION_MONITOR_H #include #include #include #include #include #include #include namespace IceInternal { class ConnectionMonitor : public ::IceUtil::Thread, public ::IceUtil::Monitor< ::IceUtil::Mutex> { public: void destroy(); void add(const ConnectionPtr&); void remove(const ConnectionPtr&); private: ConnectionMonitor(const InstancePtr&, int); virtual ~ConnectionMonitor(); friend class Instance; virtual void run(); InstancePtr _instance; const int _interval; std::set _connections; }; } #endif