Poster of Linux kernelThe best gift for a Linux geek
RTPSessionPool

RTPSessionPool

Section: C Library Functions (3) Updated: Fri Apr 1 2011
Local index Up
 

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 (intsec, intusec) [inline, protected]

 

void RTPSessionPool::setPoolTimeout (struct timevalto) [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.


 

Index

NAME
SYNOPSIS
Public Member Functions
Protected Types
Protected Member Functions
Protected Attributes
Detailed Description
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 (intsec, intusec) [inline, protected]
void RTPSessionPool::setPoolTimeout (struct timevalto) [inline, protected]
virtual void RTPSessionPool::startRunning () [pure virtual]
Member Data Documentation
SOCKET RTPSessionPool::highestSocket [protected]
ThreadLock RTPSessionPool::poolLock [mutable, protected]
fd_set RTPSessionPool::recvSocketSet [protected]
std::list<SessionListElement*> RTPSessionPool::sessionList [protected]
Author

This document was created by man2html, using the manual pages.
Time: 21:54:13 GMT, April 16, 2011