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
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 ()
Public Member Functions inherited from SyncSourceHandler
void * getLink (const SyncSource &source) const
This requires SyncSource - SyncSourceHandler friendship. void
setLink (SyncSource &source, void *link)
void setParticipant (SyncSource &source, Participant
&p)
void setState (SyncSource &source, SyncSource::State
ns)
void setSender (SyncSource &source, bool active)
void setDataTransportPort (SyncSource &source, tpport_t p)
void setControlTransportPort (SyncSource &source, tpport_t
p)
void setNetworkAddress (SyncSource &source, InetAddress
addr)
Public Member Functions inherited from ParticipantHandler
void setSDESItem (Participant *part, SDESItemType item,
const std::string &val)
void setPRIVPrefix (Participant *part, const std::string val)
Public Member Functions inherited from ApplicationHandler
void addParticipant (RTPApplication &app, Participant
&part)
void removeParticipant (RTPApplication &app,
RTPApplication::ParticipantLink *pl)
Public Member Functions inherited from ConflictHandler
ConflictingTransportAddress * searchDataConflict (InetAddress
na, tpport_t dtp)
ConflictingTransportAddress * searchControlConflict (InetAddress
na, tpport_t ctp)
void updateConflict (ConflictingTransportAddress &ca)
void addConflict (const InetAddress &na, tpport_t dtp, tpport_t
ctp)
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 ()
Protected Member Functions inherited from SyncSourceHandler
SyncSourceHandler ()
virtual ~SyncSourceHandler ()
Protected Member Functions inherited from
ParticipantHandler
ParticipantHandler ()
virtual ~ParticipantHandler ()
Protected Member Functions inherited from
ApplicationHandler
ApplicationHandler ()
virtual ~ApplicationHandler ()
Protected Member Functions inherited from ConflictHandler
ConflictHandler ()
virtual ~ConflictHandler ()
Static Protected Attributes¶
static const size_t defaultMembersHashSize
static const uint32 SEQNUMMOD
Additional Inherited Members¶
Protected Attributes inherited from ConflictHandler
ConflictingTransportAddress * firstConflict
ConflictingTransportAddress * lastConflict
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
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
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
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
created whether a new source has been created.
Returns
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
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.
ccRTP |