summaryrefslogtreecommitdiff
path: root/src/connectionList.h
diff options
context:
space:
mode:
authorOthmar Gsenger <otti@anytun.org>2008-10-19 20:06:14 +0000
committerOthmar Gsenger <otti@anytun.org>2008-10-19 20:06:14 +0000
commit7ec2d1c53b753238509bf7a89587509305b9216d (patch)
tree2e81d3fbd6b2a515f71449a2a16b2c69ecf4ddad /src/connectionList.h
parentswitched from PracticalSocket to libasio (diff)
move to asio socket libary for sync
bugs / todos: * new connections don't sync * anyrtpproxy broken * anytun-controlld doesn't send data
Diffstat (limited to 'src/connectionList.h')
-rw-r--r--src/connectionList.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/connectionList.h b/src/connectionList.h
index 4d4cd4f..95e9052 100644
--- a/src/connectionList.h
+++ b/src/connectionList.h
@@ -46,6 +46,7 @@ class ConnectionList
public:
ConnectionList();
~ConnectionList();
+ static ConnectionList& instance();
void addConnection(ConnectionParam &conn, u_int16_t mux);
const ConnectionMap::iterator getConnection(u_int16_t mux);
const ConnectionMap::iterator getEnd();
@@ -57,10 +58,20 @@ public:
Mutex& getMutex();
private:
- ConnectionList(const ConnectionList &s);
+ static Mutex instMutex;
+ static ConnectionList* inst;
+ class instanceCleaner {
+ public: ~instanceCleaner() {
+ if(ConnectionList::inst != 0)
+ delete ConnectionList::inst;
+ }
+ };
+ ConnectionList(const ConnectionList &s);
void operator=(const ConnectionList &s);
ConnectionMap connections_;
Mutex mutex_;
};
+extern ConnectionList& gConnectionList;
+
#endif