ost::RTPSessionPool Class Reference

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>

Inheritance diagram for ost::RTPSessionPool:

ost::RTPSessionBaseHandler ost::SingleRTPSessionPool List of all members.

Public Member Functions

 RTPSessionPool ()
virtual ~RTPSessionPool ()
bool addSession (RTPSessionBase &session)
bool removeSession (RTPSessionBase &session)
size_t getPoolLength () const
virtual void startRunning ()=0
bool isActive ()

Protected Types

typedef std::list< RTPSessionBase
* >::iterator 
PoolIterator

Protected Member Functions

void setActive ()
timeval getPoolTimeout ()
void setPoolTimeout (int sec, int usec)
void setPoolTimeout (struct timeval to)

Protected Attributes

std::list< RTPSessionBase * > sessionList
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:
Federico Montesino Pouzols <fedemp@altern.org>


Member Typedef Documentation

typedef std::list<RTPSessionBase*>::iterator ost::RTPSessionPool::PoolIterator [protected]
 


Constructor & Destructor Documentation

ost::RTPSessionPool::RTPSessionPool  ) 
 

virtual ost::RTPSessionPool::~RTPSessionPool  )  [inline, virtual]
 


Member Function Documentation

bool ost::RTPSessionPool::addSession RTPSessionBase session  ) 
 

size_t ost::RTPSessionPool::getPoolLength  )  const
 

timeval ost::RTPSessionPool::getPoolTimeout  )  [inline, protected]
 

bool ost::RTPSessionPool::isActive  )  [inline]
 

bool ost::RTPSessionPool::removeSession RTPSessionBase session  ) 
 

void ost::RTPSessionPool::setActive  )  [inline, protected]
 

void ost::RTPSessionPool::setPoolTimeout struct timeval  to  )  [inline, protected]
 

void ost::RTPSessionPool::setPoolTimeout int  sec,
int  usec
[inline, protected]
 

virtual void ost::RTPSessionPool::startRunning  )  [pure virtual]
 

Implemented in ost::SingleRTPSessionPool.


Member Data Documentation

SOCKET ost::RTPSessionPool::highestSocket [protected]
 

fd_set ost::RTPSessionPool::recvSocketSet [protected]
 

std::list<RTPSessionBase*> ost::RTPSessionPool::sessionList [protected]
 


The documentation for this class was generated from the following file:
Generated on Thu Apr 6 09:03:06 2006 for Bayonne Framework by  doxygen 1.4.6