|
ccRTP
|
Controls the group membership in the current session. More...
#include <iqueue.h>
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... | |
Public Member Functions | |
| size_t | getDefaultMembersHashSize () |
Public Member Functions inherited from SyncSourceHandler | |
| void * | getLink (const SyncSource &source) const |
| This requires SyncSource - SyncSourceHandler friendship. More... | |
| 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. More... | |
| virtual | ~MembershipBookkeeping () |
| Purges all RTPSource structures created during the session, as well as the hash table and the list of sources. More... | |
| SyncSourceLink * | getLink (const SyncSource &source) const |
| bool | isMine (const SyncSource &source) const |
| Get whether a synchronization source is recorded in this membership controller. More... | |
| bool | isRegistered (uint32 ssrc) |
| Returns whether there is already a synchronizacion source with "ssrc" SSRC identifier. More... | |
| SyncSourceLink * | getSourceBySSRC (uint32 ssrc, bool &created) |
Get the description of a source by its ssrc identifier. More... | |
| bool | BYESource (uint32 ssrc) |
Mark the source identified by ssrc as having sent a BYE packet. More... | |
| bool | removeSource (uint32 ssrc) |
Remove the description of the source identified by ssrc More... | |
| 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 |
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.
|
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. |
|
inlineprotectedvirtual |
Purges all RTPSource structures created during the session, as well as the hash table and the list of sources.
|
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.
|
inline |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
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.
|
inlineprotected |
Get whether a synchronization source is recorded in this membership controller.
|
protected |
Returns whether there is already a synchronizacion source with "ssrc" SSRC identifier.
|
protected |
Remove the description of the source identified by ssrc
|
inlineprotected |
|
staticprotected |
|
staticprotected |
1.8.14