logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

RTPSessionPool - This class is a base class for classes that define a group of RTP sessions that will be

Author

       Generated automatically by Doxygen for ccRTP from the source code.

                                                      ccRTP                                    RTPSessionPool(3)

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.org

Member 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

See Also