MembershipBookkeeping(3) | Library Functions Manual | MembershipBookkeeping(3) |
NAME¶
MembershipBookkeeping - Controls the group membership in the current session.SYNOPSIS¶
#include <iqueue.h> Inherits SyncSourceHandler, ParticipantHandler, ApplicationHandler, ConflictHandler, and Members. Inherited by IncomingDataQueue [protected].Classes¶
struct IncomingRTPPktLink
Public Member Functions¶
size_t getDefaultMembersHashSize ()
Protected Member Functions¶
MembershipBookkeeping (uint32 initialSize=defaultMembersHashSize)
Static Protected Attributes¶
static const size_t defaultMembersHashSize
Additional Inherited 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¶
MembershipBookkeeping::MembershipBookkeeping (uint32initialSize = defaultMembersHashSize) [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. 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 (uint32ssrc) [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]¶
SyncSourceLink* MembershipBookkeeping::getLink (const SyncSource &source) const [inline], [protected]¶
uint32 MembershipBookkeeping::getMembersCount () [inline], [protected]¶
uint32 MembershipBookkeeping::getSendersCount () [inline], [protected]¶
SyncSourceLink* MembershipBookkeeping::getSourceBySSRC (uint32ssrc, 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 (uint32ssrc) [protected]¶
Returns whether there is already a synchronizacion source with 'ssrc' SSRC identifier.bool MembershipBookkeeping::removeSource (uint32ssrc) [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 (uint32n) [inline], [protected]¶
Member Data Documentation¶
const size_t MembershipBookkeeping::defaultMembersHashSize [static], [protected]¶
const uint32 MembershipBookkeeping::SEQNUMMOD [static], [protected]¶
Author¶
Generated automatically by Doxygen for ccRTP from the source code.Wed Jun 25 2014 | ccRTP |