43 #ifndef CCXX_RTP_POOL_H
44 #define CCXX_RTP_POOL_H
49 #ifdef CCXX_NAMESPACES
60 {
return s.getSchedulingTimeout(); }
63 {
return s.getRTCPCheckInterval(); }
67 {
return s.takeInDataPacket(); }
71 {
return s.dispatchDataPacket(); }
75 { s.controlReceptionService(); }
79 { s.controlTransmissionService(); }
82 {
return s.getDataRecvSocket(); }
85 {
return s.getControlRecvSocket(); }
109 : elem(e), cleared(false) {
172 getPoolLength()
const;
174 virtual void startRunning() = 0;
177 {
return poolActive; }
181 { poolActive =
true; }
184 {
return poolTimeout; }
187 { poolTimeout.tv_sec = sec; poolTimeout.tv_usec = usec; }
190 { poolTimeout = to; }
235 #ifdef CCXX_NAMESPACES
239 #endif //CCXX_RTP_POOL_H
std::list< SessionListElement * >::iterator PoolIterator
std::list< SessionListElement * > sessionList
size_t dispatchDataPacket(RTPSessionBase &s)
void controlTransmissionService(RTPSessionBase &s)
void setPoolTimeout(struct timeval to)
uint32 microtimeout_t
Time interval expressed in microseconds.
Generic RTP protocol stack for exchange of realtime data.
SOCKET getControlRecvSocket(RTPSessionBase &s) const
SOCKET getDataRecvSocket(RTPSessionBase &s) const
int start(Semaphore *start=0)
When a new thread is created, it does not begin immediate execution.
size_t takeInDataPacket(RTPSessionBase &s)
std equality for SessionListElement objects.
SessionListElement(RTPSessionBase *e)
SingleRTPSessionPool(int pri=0)
virtual ~RTPSessionPool()
timeval getRTCPCheckInterval(RTPSessionBase &s)
Class for tracking session status.
bool operator()(SessionListElement *e)
The ThreadLock class impliments a thread rwlock for optimal reader performance on systems which have ...
microtimeout_t getSchedulingTimeout(RTPSessionBase &s)
void controlReceptionService(RTPSessionBase &s)
PredEquals(RTPSessionBase *e)
Every thread of execution in an application is created by instantiating an object of a class derived ...
This class is a base class for classes that define a group of RTP sessions that will be served by one...
virtual void run(void)=0
All threads execute by deriving the Run method of Thread.
TRTPSessionBase RTPSessionBase
Generic and audio/video profile specific RTP interface of ccRTP.
void setPoolTimeout(int sec, int usec)