summaryrefslogtreecommitdiff
path: root/src/rtpSessionTable.cpp
diff options
context:
space:
mode:
authorOthmar Gsenger <otti@anytun.org>2009-01-12 20:53:14 +0000
committerOthmar Gsenger <otti@anytun.org>2009-01-12 20:53:14 +0000
commit43424d46fbb74958cd5fc358d57c757b53436585 (patch)
treef0b0f1199c0946bca98ed3373191a5a991bd2229 /src/rtpSessionTable.cpp
parentclean up Makefile (diff)
moved rtp stuff to anyrtpproxy and removed it from anytun
Diffstat (limited to 'src/rtpSessionTable.cpp')
-rw-r--r--src/rtpSessionTable.cpp123
1 files changed, 0 insertions, 123 deletions
diff --git a/src/rtpSessionTable.cpp b/src/rtpSessionTable.cpp
deleted file mode 100644
index b751a50..0000000
--- a/src/rtpSessionTable.cpp
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * anytun
- *
- * The secure anycast tunneling protocol (satp) defines a protocol used
- * for communication between any combination of unicast and anycast
- * tunnel endpoints. It has less protocol overhead than IPSec in Tunnel
- * mode and allows tunneling of every ETHER TYPE protocol (e.g.
- * ethernet, ip, arp ...). satp directly includes cryptography and
- * message authentication based on the methodes used by SRTP. It is
- * intended to deliver a generic, scaleable and secure solution for
- * tunneling and relaying of packets of any protocol.
- *
- *
- * Copyright (C) 2007-2008 Othmar Gsenger, Erwin Nindl,
- * Christian Pointner <satp@wirdorange.org>
- *
- * This file is part of Anytun.
- *
- * Anytun is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3 as
- * published by the Free Software Foundation.
- *
- * Anytun is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with anytun. If not, see <http://www.gnu.org/licenses/>.
- */
-#include "threadUtils.hpp"
-#include "datatypes.h"
-
-#include "rtpSessionTable.h"
-
-RtpSessionTable* RtpSessionTable::inst = NULL;
-Mutex RtpSessionTable::instMutex;
-RtpSessionTable& gRtpSessionTable = RtpSessionTable::instance();
-
-
-RtpSessionTable& RtpSessionTable::instance()
-{
- Lock lock(instMutex);
- static instanceCleaner c;
- if(!inst)
- inst = new RtpSessionTable();
-
- return *inst;
-}
-
-RtpSessionTable::RtpSessionTable()
-{
-}
-
-RtpSessionTable::~RtpSessionTable()
-{
-}
-
-void RtpSessionTable::delSession(const std::string & call_id)
-{
- Lock lock(mutex_);
-
- RtpSessionMap::iterator it = map_.find(call_id);
- if(it!=map_.end())
- delete it->second;
-
- map_.erase(it);
-}
-
-RtpSession& RtpSessionTable::getOrNewSession(const std::string & call_id, bool& is_new)
-{
- Lock lock(mutex_);
- return getOrNewSessionUnlocked(call_id, is_new);
-}
-
-RtpSession& RtpSessionTable::getOrNewSessionUnlocked(const std::string & call_id, bool& is_new)
-{
- is_new = false;
- RtpSessionMap::iterator it = map_.find(call_id);
- if(it!=map_.end())
- return *(it->second);
-
- is_new = true;
- std::pair<RtpSessionMap::iterator, bool> ret = map_.insert(RtpSessionMap::value_type(call_id, NULL));
- ret.first->second = new RtpSession(ret.first->first);
- return *(ret.first->second);
-}
-
-RtpSession& RtpSessionTable::getSession(const std::string & call_id)
-{
- RtpSessionMap::iterator it = map_.find(call_id);
- if(it!=map_.end())
- return *(it->second);
-
- throw std::runtime_error("session not found");
-}
-
-RtpSessionMap::iterator RtpSessionTable::getBeginUnlocked()
-{
- return map_.begin();
-}
-
-RtpSessionMap::iterator RtpSessionTable::getEndUnlocked()
-{
- return map_.end();
-}
-
-void RtpSessionTable::clear()
-{
- Lock lock(mutex_);
- map_.clear();
-}
-
-bool RtpSessionTable::empty()
-{
- Lock lock(mutex_);
- return map_.empty();
-}
-
-Mutex& RtpSessionTable::getMutex()
-{
- return mutex_;
-}