RTPSessionPool - This class is a base class for classes that define a group of RTP sessions that will be
Contents
Constructor & Destructor Documentation
RTPSessionPool::RTPSessionPool()virtualRTPSessionPool::~RTPSessionPool()[inline],[virtual]
Detailed Description
This class is a base class for classes that define a group of RTP sessions that will be served by one or
more execution threads.
Derived classes are responsible for serving each RTP session with a thread at least.
In order to use the RTP session 'pool' you just have to build RTPSessionBase objects for each RTP session
(instead of RTPSession objects). Then, add the RTPSessionBase objects to an RTP session 'pool' and call
startRunning() method of the session pool.
Author
Federico Montesino Pouzols fedemp@altern.orgMember Data Documentation
SOCKETRTPSessionPool::highestSocket[protected]ThreadLockRTPSessionPool::poolLock[mutable],[protected]fd_setRTPSessionPool::recvSocketSet[protected]std::list<SessionListElement*>RTPSessionPool::sessionList[protected]
Member Function Documentation
boolRTPSessionPool::addSession(RTPSessionBase&session)size_tRTPSessionPool::getPoolLength()consttimevalRTPSessionPool::getPoolTimeout()[inline],[protected]boolRTPSessionPool::isActive()[inline]boolRTPSessionPool::removeSession(RTPSessionBase&session)voidRTPSessionPool::setActive()[inline],[protected]voidRTPSessionPool::setPoolTimeout(intsec,intusec)[inline],[protected]voidRTPSessionPool::setPoolTimeout(structtimevalto)[inline],[protected]virtualvoidRTPSessionPool::startRunning()[purevirtual]
Implemented in SingleRTPSessionPool.
Member Typedef Documentation
typedefstd::list<SessionListElement*>::iteratorRTPSessionPool::PoolIterator[protected]
Name
RTPSessionPool - This class is a base class for classes that define a group of RTP sessions that will be
served by one or more execution threads.
Synopsis
#include <pool.h>
Inherits RTPSessionBaseHandler.
Inherited by SingleRTPSessionPool.
PublicMemberFunctionsRTPSessionPool ()
virtual ~RTPSessionPool ()
bool addSession (RTPSessionBase &session)
bool removeSession (RTPSessionBase &session)
size_t getPoolLength () const
virtual void startRunning ()=0
bool isActive ()
Public Member Functions inherited from RTPSessionBaseHandlermicrotimeout_tgetSchedulingTimeout (RTPSessionBase &s)
timeval getRTCPCheckInterval (RTPSessionBase &s)
size_t takeInDataPacket (RTPSessionBase &s)
size_t dispatchDataPacket (RTPSessionBase &s)
void controlReceptionService (RTPSessionBase &s)
void controlTransmissionService (RTPSessionBase &s)
SOCKET getDataRecvSocket (RTPSessionBase &s) const
SOCKET getControlRecvSocket (RTPSessionBase &s) const
ProtectedTypes
typedef std::list< SessionListElement * >::iterator PoolIteratorProtectedMemberFunctions
void setActive ()
timeval getPoolTimeout ()
void setPoolTimeout (int sec, int usec)
void setPoolTimeout (struct timeval to)
ProtectedAttributes
std::list< SessionListElement * > sessionList
ThreadLock poolLock
fd_set recvSocketSet
SOCKET highestSocket