Bayonne2 / Common C++ 2 Framework
|
Controls the group membership in the current session. More...
#include <iqueue.h>
Data Structures | |
struct | IncomingRTPPktLink |
Incoming RTP data packets control structure within the incoming packet queue class. More... | |
struct | SyncSourceLink |
Synchronization Source internal handler within the incoming packets queue. More... | |
Protected Member Functions | |
MembershipBookkeeping (uint32 initialSize=defaultMembersHashSize) | |
The initial size is a hint to allocate the resources needed in order to keep the members' identifiers and associated information. More... | |
virtual | ~MembershipBookkeeping () |
Purges all RTPSource structures created during the session, as well as the hash table and the list of sources. More... | |
SyncSourceLink * | getLink (const SyncSource &source) const |
bool | isMine (const SyncSource &source) const |
Get whether a synchronization source is recorded in this membership controller. More... | |
bool | isRegistered (uint32 ssrc) |
Returns whether there is already a synchronizacion source with "ssrc" SSRC identifier. More... | |
SyncSourceLink * | getSourceBySSRC (uint32 ssrc, bool &created) |
Get the description of a source by its ssrc identifier. More... | |
bool | BYESource (uint32 ssrc) |
Mark the source identified by ssrc as having sent a BYE packet. More... | |
bool | removeSource (uint32 ssrc) |
Remove the description of the source identified by ssrc More... | |
SyncSourceLink * | getFirst () |
SyncSourceLink * | getLast () |
uint32 | getMembersCount () |
void | setMembersCount (uint32 n) |
uint32 | getSendersCount () |
Protected Attributes | |
ConflictingTransportAddress * | firstConflict |
ConflictingTransportAddress * | lastConflict |
Static Protected Attributes | |
static const size_t | defaultMembersHashSize |
static const uint32 | SEQNUMMOD |
Private Member Functions | |
MembershipBookkeeping (const MembershipBookkeeping &o) | |
MembershipBookkeeping & | operator= (const MembershipBookkeeping &o) |
void | endMembers () |
Purge all RTPSource structures, the hash table and the list of sources. More... | |
void | increaseMembersCount () |
void | decreaseMembersCount () |
uint32 | getMembersCount () const |
void | setSendersCount (uint32 n) |
void | increaseSendersCount () |
void | decreaseSendersCount () |
uint32 | getSendersCount () const |
Private Attributes | |
uint32 | sourceBucketsNum |
SyncSourceLink ** | sourceLinks |
SyncSourceLink * | first |
SyncSourceLink * | last |
Controls the group membership in the current session.
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.
|
protected |
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.
initialSize | an estimation of how many participants the session will consist of. |
|
inlineprotectedvirtual |
|
private |
|
inherited |
|
inlineinherited |
|
protected |
Mark the source identified by ssrc
as having sent a BYE packet.
It is not deleted until a timeout expires, so that in case some packets from this source arrive a bit later the source is not inserted again in the table of known sources.
|
private |
Purge all RTPSource structures, the hash table and the list of sources.
|
inline |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
protected |
Get the description of a source by its ssrc
identifier.
ssrc | SSRC identifier, in host order. |
created | whether a new source has been created. |
ssrc
.
|
inlineprotected |
|
protected |
Returns whether there is already a synchronizacion source with "ssrc" SSRC identifier.
|
private |
|
inlineinherited |
|
protected |
Remove the description of the source identified by ssrc
|
inherited |
na | Inet network address. |
ctp | Data transport port. |
|
inherited |
na | Inet network address. |
dtp | Data transport port. |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineprotected |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
staticprotected |
|
private |
|
protectedinherited |
|
private |
|
protectedinherited |
|
staticprotected |
|
private |