43 #ifndef CCXX_RTP_POOL_H 44 #define CCXX_RTP_POOL_H 58 {
return s.getSchedulingTimeout(); }
61 {
return s.getRTCPCheckInterval(); }
65 {
return s.takeInDataPacket(); }
69 {
return s.dispatchDataPacket(); }
73 { s.controlReceptionService(); }
77 { s.controlTransmissionService(); }
80 {
return s.getDataRecvSocket(); }
83 {
return s.getControlRecvSocket(); }
107 : elem(e), cleared(false) {
138 return e->
get() == elem;
170 getPoolLength()
const;
172 virtual void startRunning() = 0;
175 {
return poolActive; }
179 { poolActive =
true; }
182 {
return poolTimeout; }
185 { poolTimeout.tv_sec = sec; poolTimeout.tv_usec = usec; }
188 { poolTimeout = to; }
202 mutable bool poolActive;
223 { setActive(); Thread::start(); }
235 #endif //CCXX_RTP_POOL_H void setPoolTimeout(int sec, int usec)
Definition: pool.h:184
size_t takeInDataPacket(RTPSessionBase &s)
Definition: pool.h:64
SOCKET highestSocket
Definition: pool.h:197
Class for tracking session status.
Definition: pool.h:93
This class is a base class for classes that define a group of RTP sessions that will be served by one...
Definition: pool.h:155
std equality for SessionListElement objects.
Definition: pool.h:129
microtimeout_t getSchedulingTimeout(RTPSessionBase &s)
Definition: pool.h:57
uint32 microtimeout_t
Time interval expressed in microseconds.
Definition: base.h:68
RTPSessionBase * get()
Definition: pool.h:120
timeval getPoolTimeout()
Definition: pool.h:181
void clear()
Definition: pool.h:110
~SingleRTPSessionPool()
Definition: pool.h:219
void controlTransmissionService(RTPSessionBase &s)
Definition: pool.h:76
Generic RTP protocol stack for exchange of realtime data.
SingleRTPSessionPool(int pri=0)
Definition: pool.h:214
fd_set recvSocketSet
Definition: pool.h:196
ThreadLock poolLock
Definition: pool.h:193
std::list< SessionListElement * >::iterator PoolIterator
Definition: pool.h:191
timeval getRTCPCheckInterval(RTPSessionBase &s)
Definition: pool.h:60
bool isCleared()
Definition: pool.h:116
void controlReceptionService(RTPSessionBase &s)
Definition: pool.h:72
void setPoolTimeout(struct timeval to)
Definition: pool.h:187
PredEquals(RTPSessionBase *e)
Definition: pool.h:134
void setActive()
Definition: pool.h:178
RTPSessionBase * elem
Definition: pool.h:132
TRTPSessionBase RTPSessionBase
Definition: pool.h:52
Generic and audio/video profile specific RTP interface of ccRTP.
bool isActive()
Definition: pool.h:174
std::list< SessionListElement * > sessionList
Definition: pool.h:190
SOCKET getDataRecvSocket(RTPSessionBase &s) const
Definition: pool.h:79
void startRunning()
Definition: pool.h:222
virtual ~RTPSessionPool()
Definition: pool.h:160
SessionListElement(RTPSessionBase *e)
Definition: pool.h:106
size_t dispatchDataPacket(RTPSessionBase &s)
Definition: pool.h:68
SOCKET getControlRecvSocket(RTPSessionBase &s) const
Definition: pool.h:82