Controls the group membership in the current session.
More...
#include <iqueue.h>
List of all members.
Detailed Description
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.
- Author:
- Federico Montesino Pouzols <fedemp@altern.org>
Constructor & Destructor Documentation
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.
- Parameters:
-
| initialSize | an estimation of how many participants the session will consist of. |
virtual MembershipBookkeeping::~MembershipBookkeeping |
( |
|
) |
[inline, protected, virtual] |
Purges all RTPSource structures created during the session, as well as the hash table and the list of sources.
Member Function Documentation
bool MembershipBookkeeping::BYESource |
( |
uint32 |
ssrc |
) |
[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.
- Returns:
- true if the source had been previously identified. false if it was not in the table of known sources.
size_t MembershipBookkeeping::getDefaultMembersHashSize |
( |
|
) |
[inline] |
SyncSourceLink* MembershipBookkeeping::getFirst |
( |
|
) |
[inline, protected] |
SyncSourceLink* MembershipBookkeeping::getLast |
( |
|
) |
[inline, protected] |
uint32 MembershipBookkeeping::getMembersCount |
( |
|
) |
[inline, protected] |
uint32 MembershipBookkeeping::getSendersCount |
( |
|
) |
[inline, protected] |
SyncSourceLink* MembershipBookkeeping::getSourceBySSRC |
( |
uint32 |
ssrc, |
|
|
bool & |
created | |
|
) |
| | [protected] |
Get the description of a source by its ssrc
identifier.
- Parameters:
-
| ssrc | SSRC identifier, in host order. |
| created | whether a new source has been created. |
- Returns:
- Pointer to the SyncSource object identified by
ssrc
.
bool MembershipBookkeeping::isMine |
( |
const SyncSource & |
source |
) |
const [inline, protected] |
Get whether a synchronization source is recorded in this membership controller.
bool MembershipBookkeeping::isRegistered |
( |
uint32 |
ssrc |
) |
[protected] |
Returns whether there is already a synchronizacion source with "ssrc" SSRC identifier.
bool MembershipBookkeeping::removeSource |
( |
uint32 |
ssrc |
) |
[protected] |
Remove the description of the source identified by ssrc
.
- Returns:
- whether the source has been actually removed or it did not exist.
void MembershipBookkeeping::setMembersCount |
( |
uint32 |
n |
) |
[inline, protected] |
Member Data Documentation
The documentation for this class was generated from the following file: