#include <iqueue.h>
Inheritance diagram for MembershipBookkeeping:

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 |
Classes | |
| struct | IncomingRTPPktLink |
| Incoming RTP data packets control structure within the incoming packet queue class. More... | |
| struct | SyncSourceLink |
| Synchronization Source internal handler within the incoming packets queue. More... | |
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.
| 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.
| 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.
| 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.
| 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.
| ssrc | SSRC identifier, in host order. | |
| created | whether a new source has been created. |
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.
| void MembershipBookkeeping::setMembersCount | ( | uint32 | n | ) | [inline, protected] |
Reimplemented from Members.
const size_t MembershipBookkeeping::defaultMembersHashSize [static, protected] |
const uint32 MembershipBookkeeping::SEQNUMMOD [static, protected] |
1.4.7