Poster of Linux kernelThe best gift for a Linux geek
MembershipBookkeeping

MembershipBookkeeping

Section: C Library Functions (3) Updated: Fri Apr 1 2011
Local index Up
 

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 (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]

Reimplemented from SyncSourceHandler.  

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]

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.


 

Index

NAME
SYNOPSIS
Classes
Public Member Functions
Protected Member Functions
Static Protected Attributes
Detailed Description
Constructor & Destructor Documentation
MembershipBookkeeping::MembershipBookkeeping (uint32initialSize = defaultMembersHashSize) [protected]
virtual MembershipBookkeeping::~MembershipBookkeeping () [inline, protected, virtual]
Member Function Documentation
bool MembershipBookkeeping::BYESource (uint32ssrc) [protected]
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]
bool MembershipBookkeeping::isMine (const SyncSource &source) const [inline, protected]
bool MembershipBookkeeping::isRegistered (uint32ssrc) [protected]
bool MembershipBookkeeping::removeSource (uint32ssrc) [protected]
void MembershipBookkeeping::setMembersCount (uint32n) [inline, protected]
Member Data Documentation
const size_t MembershipBookkeeping::defaultMembersHashSize [static, protected]
const uint32 MembershipBookkeeping::SEQNUMMOD [static, protected]
Author

This document was created by man2html, using the manual pages.
Time: 21:50:07 GMT, April 16, 2011