ccRTP 2.1.2
|
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. More...
#include <pool.h>
Public Member Functions | |
RTPSessionPool () | |
virtual | ~RTPSessionPool () |
bool | addSession (RTPSessionBase &session) |
bool | removeSession (RTPSessionBase &session) |
size_t | getPoolLength () const |
virtual void | startRunning ()=0 |
bool | isActive () |
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 |
Private Attributes | |
timeval | poolTimeout |
bool | poolActive |
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.
|
protected |
bool RTPSessionPool::addSession | ( | RTPSessionBase & | session | ) |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
bool RTPSessionPool::removeSession | ( | RTPSessionBase & | session | ) |
|
inlineprotected |
|
inlineprotected |
|
pure virtual |
Implemented in SingleRTPSessionPool.
|
inlineinherited |
|
protected |