Provided by: libccrtp-doc_2.0.6-3_all
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 Incoming RTP data packets control structure within the incoming packet queue class. struct SyncSourceLink Synchronization Source internal handler within the incoming packets queue. Public Member Functions size_t getDefaultMembersHashSize () 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. virtual ~MembershipBookkeeping () Purges all RTPSource structures created during the session, as well as the hash table and the list of sources. SyncSourceLink * getLink (const SyncSource &source) const bool isMine (const SyncSource &source) const Get whether a synchronization source is recorded in this membership controller. bool isRegistered (uint32 ssrc) Returns whether there is already a synchronizacion source with 'ssrc' SSRC identifier. SyncSourceLink * getSourceBySSRC (uint32 ssrc, bool &created) Get the description of a source by its ssrc identifier. bool BYESource (uint32 ssrc) Mark the source identified by ssrc as having sent a BYE packet. bool removeSource (uint32 ssrc) Remove the description of the source identified by ssrc SyncSourceLink * getFirst () SyncSourceLink * getLast () uint32 getMembersCount () void setMembersCount (uint32 n) uint32 getSendersCount () Static Protected Attributes static const size_t defaultMembersHashSize static const uint32 SEQNUMMOD 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.