MembershipBookkeeping(3) | Library Functions Manual | MembershipBookkeeping(3) |
MembershipBookkeeping - Controls the group membership in the current session.
#include <iqueue.h>
Inherits SyncSourceHandler, ParticipantHandler, ApplicationHandler, ConflictHandler, and Members.
Inherited by IncomingDataQueue [protected].
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.
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)
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 const size_t defaultMembersHashSize
static const uint32 SEQNUMMOD
Protected Attributes inherited from ConflictHandler
ConflictingTransportAddress * firstConflict
ConflictingTransportAddress * lastConflict
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
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
Purges all RTPSource structures created during the session, as well as the hash table and the list of sources.
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
Get the description of a source by its ssrc identifier.
Parameters
Returns
Get whether a synchronization source is recorded in this membership controller.
Returns whether there is already a synchronizacion source with 'ssrc' SSRC identifier.
Remove the description of the source identified by ssrc
Returns
Generated automatically by Doxygen for ccRTP from the source code.
ccRTP |