Controls the group membership in the current session.
More...
#include <iqueue.h>
Inheritance diagram for MembershipBookkeeping:
Collaboration diagram for MembershipBookkeeping:
Data Structures
Incoming RTP data packets control structure within the incoming packet queue class.
More...
Synchronization Source internal handler within the incoming packets queue.
More...
Public Member Functions
Protected Member Functions
The initial size is a hint to allocate the resources needed in order to keep the members' identifiers and associated information.
More...
Purges all RTPSource structures created during the session, as well as the hash table and the list of sources.
More...
Get whether a synchronization source is recorded in this membership controller.
More...
Returns whether there is already a synchronizacion source with "ssrc" SSRC identifier.
More...
Get the description of a source by its
ssrc
identifier.
More...
Mark the source identified by
ssrc
as having sent a BYE packet.
More...
Remove the description of the source identified by
ssrc
More...
Protected Attributes
Static Protected Attributes
Private Member Functions
Purge all RTPSource structures, the hash table and the list of sources.
More...
Private Attributes
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 fedem.nosp@m.p@al.nosp@m.tern..nosp@m.org
Definition at line 301 of file iqueue.h.
Constructor & Destructor Documentation
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
(
)
inlineprotectedvirtual
Purges all RTPSource structures created during the session, as well as the hash table and the list of sources.
Definition at line 334 of file iqueue.h.
Member Function Documentation
void ConflictHandler::addConflict
(
const
InetAddress &
na,
)
inherited
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.
void Members::decreaseMembersCount
(
)
inlineinherited
void Members::decreaseSendersCount
(
)
inlineinherited
void MembershipBookkeeping::endMembers
(
)
private
Purge all RTPSource structures, the hash table and the list of sources.
size_t MembershipBookkeeping::getDefaultMembersHashSize
(
)
inline
uint32 Members::getMembersCount
(
)
const
inlineinherited
uint32 MembershipBookkeeping::getMembersCount
(
)
inlineprotected
uint32 Members::getSendersCount
(
)
const
inlineinherited
uint32 MembershipBookkeeping::getSendersCount
(
)
inlineprotected
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
.
void Members::increaseMembersCount
(
)
inlineinherited
void Members::increaseSendersCount
(
)
inlineinherited
bool MembershipBookkeeping::isMine
(
const
SyncSource &
source )
const
inlineprotected
Get whether a synchronization source is recorded in this membership controller.
Definition at line 345 of file iqueue.h.
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.
- Parameters
-
na Inet network address.
ctp Data transport port.
- Parameters
-
na Inet network address.
dtp Data transport port.
void SyncSourceHandler::setControlTransportPort
(
SyncSource &
source,
)
inlineinherited
void SyncSourceHandler::setDataTransportPort
(
SyncSource &
source,
)
inlineinherited
void SyncSourceHandler::setLink
(
SyncSource &
source,
void *
link
)
inlineinherited
void MembershipBookkeeping::setMembersCount
(
uint32
n )
inlineprotected
void SyncSourceHandler::setNetworkAddress
(
SyncSource &
source,
)
inlineinherited
void SyncSourceHandler::setParticipant
(
SyncSource &
source,
)
inlineinherited
void ParticipantHandler::setPRIVPrefix
(
Participant *
part,
const std::string
val
)
inlineinherited
void ParticipantHandler::setSDESItem
(
Participant *
part,
const std::string &
val
)
inlineinherited
void SyncSourceHandler::setSender
(
SyncSource &
source,
bool
active
)
inlineinherited
void Members::setSendersCount
(
uint32
n )
inlineinherited
void SyncSourceHandler::setState
(
SyncSource &
source,
)
inlineinherited
Field Documentation
const size_t MembershipBookkeeping::defaultMembersHashSize
staticprotected
const uint32 MembershipBookkeeping::SEQNUMMOD
staticprotected
uint32 MembershipBookkeeping::sourceBucketsNum
private
The documentation for this class was generated from the following file: