Man Linux: Main Page and Category List

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 ()

   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:
           Federico Montesino Pouzols <fedemp@altern.org>

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 (struct timeval to) [inline, protected]
   void RTPSessionPool::setPoolTimeout (int sec, int usec) [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.