#include <cc++/rtp.h>
Inheritance diagram for MembershipControl::
Public Methods | |
const RTPSource & | getSource (uint32 ssrc) const |
Get the description of a source by its SSRC More... | |
const RTPSource & | getOrCreateSource (uint32 ssrc) |
Get the description of a source by its ssrc More... | |
Protected Methods | |
RTPSource & | addNewSource (uint32 ssrc) |
MembershipControl (uint32 initial_size=7) | |
The initial size is a hint to allocate the resources needed in order to keep the members' identifiers and associated information. More... | |
virtual | ~MembershipControl () |
Destructor. More... | |
void | endMembers () |
Purge all RTPSource structures, the hash table and the list of sources. More... | |
RTPSource & | getSourceBySSRC (uint32 ssrc, bool create=false) |
Get the description of a source by its ssrc More... | |
bool | removeSource (uint32 ssrc) |
Remove the description of the source identified by ssrc . More... | |
const RTPSource & | NullSource () const |
Static Protected Attributes | |
const RTPSource | dummysource |
The use of RTCP is feasible in sessions with a few participants. However, when there are thousands or millions of participants, scalability problems impede the use of RTCP. In such situations, group membership sampling (see RFC 2762) is recommended instead of a membership table.
For now, this class implements only a hash table of members, but its design and relation with other classes is intented to support group membership sampling in case scalability problems arise.
|
The initial size is a hint to allocate the resources needed in order to keep the members' identifiers and associated information. Although ccRTP will reallocate resources when it becomes necessary, a good hint may save a lot of unpredictable time penalties.
|
|
Destructor. Purges all RTPSource structures created during the session, as well as the hast table and the list of sources. |
|
|
|
|
|
Purge all RTPSource structures, the hash table and the list of sources.
|
|
Get the description of a source by its
|
|
Get the description of a source by its
Reimplemented in RTPQueue. |
|
Get the description of a source by its
|
|
Remove the description of the source identified by
|
|
|