RTPSessionPool(3) | Library Functions Manual | RTPSessionPool(3) |
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.
Public Member Functions¶
RTPSessionPool ()
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
RTPSessionBaseHandler
microtimeout_t getSchedulingTimeout (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
Protected Types¶
typedef std::list< SessionListElement * >::iterator
PoolIterator
Protected Member Functions¶
void setActive ()
timeval getPoolTimeout ()
void setPoolTimeout (int sec, int usec)
void setPoolTimeout (struct timeval to)
Protected Attributes¶
std::list< SessionListElement * > sessionList
ThreadLock poolLock
fd_set recvSocketSet
SOCKET highestSocket
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
Member Typedef Documentation¶
typedef std::list<SessionListElement*>::iterator RTPSessionPool::PoolIterator [protected]¶
Constructor & Destructor Documentation¶
RTPSessionPool::RTPSessionPool ()¶
virtual RTPSessionPool::~RTPSessionPool () [inline], [virtual]¶
Member Function Documentation¶
bool RTPSessionPool::addSession (RTPSessionBase & session)¶
size_t RTPSessionPool::getPoolLength () const¶
timeval RTPSessionPool::getPoolTimeout () [inline], [protected]¶
bool RTPSessionPool::isActive () [inline]¶
bool RTPSessionPool::removeSession (RTPSessionBase & session)¶
void RTPSessionPool::setActive () [inline], [protected]¶
void RTPSessionPool::setPoolTimeout (int sec, int usec) [inline], [protected]¶
void RTPSessionPool::setPoolTimeout (struct timeval to) [inline], [protected]¶
virtual void RTPSessionPool::startRunning () [pure virtual]¶
Implemented in SingleRTPSessionPool.
Member Data Documentation¶
SOCKET RTPSessionPool::highestSocket [protected]¶
ThreadLock RTPSessionPool::poolLock [mutable], [protected]¶
fd_set RTPSessionPool::recvSocketSet [protected]¶
std::list<SessionListElement*> RTPSessionPool::sessionList [protected]¶
Author¶
Generated automatically by Doxygen for ccRTP from the source code.
ccRTP |