Man Linux: Main Page and Category List

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

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]
       Reimplemented from SyncSourceHandler.

   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]
       Reimplemented from Members.

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.