Provided by: libccrtp-doc_2.0.9-2.3build1_all bug

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 (uint32 initialSize = 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 (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]
   SyncSourceLink* MembershipBookkeeping::getLink (const SyncSource & source) const [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

   const size_t MembershipBookkeeping::defaultMembersHashSize [static],  [protected]
   const uint32 MembershipBookkeeping::SEQNUMMOD [static],  [protected]

Author

       Generated automatically by Doxygen for ccRTP from the source code.