membershipbookkeeping::syncsourcelink(3)
NAME
MembershipBookkeeping::SyncSourceLink - Synchronization Source internal
handler within the incoming packets queue.
SYNOPSIS
#include <iqueue.h> Public Member Functions SyncSourceLink (MembershipBookkeeping *m, SyncSource *s, IncomingRTPPktLink *fp=NULL, IncomingRTPPktLink *lp=NULL, SyncSourceLink *ps=NULL, SyncSourceLink *ns=NULL, SyncSourceLink *ncollis=NULL) ~SyncSourceLink () Note it deletes the source. MembershipBookkeeping * getMembership () SyncSource * getSource () Get the synchronization source object this link objet holds information for. IncomingRTPPktLink * getFirst () Get first RTP (data) packet in the queue of packets received from this socket. void setFirst (IncomingRTPPktLink *fp) IncomingRTPPktLink * getLast () Get last RTP (data) packet in the queue of packets received from this socket. void setLast (IncomingRTPPktLink *lp) SyncSourceLink * getPrev () Get the link object for the previous RTP source. void setPrev (SyncSourceLink *ps) SyncSourceLink * getNext () Get the link object for the next RTP source. void setNext (SyncSourceLink *ns) SyncSourceLink * getNextCollis () Get the link object for the next RTP source in the hash table entry collision list. void setNextCollis (SyncSourceLink *ns) ConflictingTransportAddress * getPrevConflict () const void setPrevConflict (InetAddress &addr, tpport_t dataPort, tpport_t controlPort) Get conflicting address. unsigned char * getSenderInfo () void setSenderInfo (unsigned char *si) unsigned char * getReceiverInfo () void setReceiverInfo (unsigned char *ri) timeval getLastPacketTime () const timeval getLastRTCPPacketTime () const timeval getLastRTCPSRTime () const uint32 getObservedPacketCount () const Get the total number of RTP packets received from this source. void incObservedPacketCount () uint32 getObservedOctetCount () const Get the total number of payload octets received from this source. void incObservedOctetCount (uint32 n) uint16 getMaxSeqNum () const Get the highest valid sequence number received. void setMaxSeqNum (uint16 max) Set the highest valid sequence number recived. uint32 getExtendedMaxSeqNum () const void setExtendedMaxSeqNum (uint32 seq) uint32 getCumulativePacketLost () const void setCumulativePacketLost (uint32 pl) uint8 getFractionLost () const void setFractionLost (uint8 fl) uint32 getLastPacketTransitTime () void setLastPacketTransitTime (uint32 time) float getJitter () const void setJitter (float j) uint32 getInitialDataTimestamp () const void setInitialDataTimestamp (uint32 ts) timeval getInitialDataTime () const void setInitialDataTime (timeval it) bool getGoodbye () Mark this source as having sent a BYE control packet. bool getHello () Mark this source as having sent some packet. uint32 getBadSeqNum () const void setBadSeqNum (uint32 seq) uint8 getProbation () const void setProbation (uint8 p) void decProbation () bool isValid () const uint16 getBaseSeqNum () const uint32 getSeqNumAccum () const void incSeqNumAccum () void initSequence (uint16 seqnum) Start a new sequence of received packets. void recordInsertion (const IncomingRTPPktLink &pl) Record the insertion of an RTP packet from this source into the scheduled reception queue. void initStats () void computeStats () Compute cumulative packet lost and fraction of packets lost during the last reporting interval. Public Attributes MembershipBookkeeping * membership SyncSource * source IncomingRTPPktLink * first IncomingRTPPktLink * last SyncSourceLink * prev SyncSourceLink * next SyncSourceLink * nextCollis ConflictingTransportAddress * prevConflict unsigned char * senderInfo unsigned char * receiverInfo timeval lastPacketTime timeval lastRTCPPacketTime timeval lastRTCPSRTime uint32 obsPacketCount uint32 obsOctetCount uint16 maxSeqNum uint32 extendedMaxSeqNum uint32 cumulativePacketLost uint8 fractionLost uint32 lastPacketTransitTime float jitter uint32 initialDataTimestamp timeval initialDataTime bool flag uint32 badSeqNum uint8 probation uint16 baseSeqNum uint32 expectedPrior uint32 receivedPrior uint32 seqNumAccum Static Public Attributes static const uint32 SEQNUMMOD
Detailed Description
Synchronization Source internal handler within the incoming packets
queue.
Incoming packets queue objects hold a hash table and a linked list of
synchronization sources. For each of these sources, there is also a
linked list of incoming rtp packets, which are linked in an 'all
incoming packets' list as well. SyncSourceLink objects hold the
necessary data to maintain these data estructures, as well as source
specific information and statistics for RTCP,
- Author:
- Federico Montesino Pouzols <fedemp@altern.org>
Constructor & Destructor Documentation
- MembershipBookkeeping::SyncSourceLink::SyncSourceLink
- (MembershipBookkeeping * m, SyncSource * s, IncomingRTPPktLink * fp = NULL, IncomingRTPPktLink * lp = NULL, SyncSourceLink * ps = NULL, SyncSourceLink * ns = NULL, SyncSourceLink * ncollis = NULL) [inline]
- MembershipBookkeeping::SyncSourceLink::~SyncSourceLink ()
- Note it deletes the source.
Member Function Documentation
- MembershipBookkeeping* MembershipBookkeeping::SyncSourceLink::getMembership
- () [inline]
- SyncSource* MembershipBookkeeping::SyncSourceLink::getSource () [inline]
- Get the synchronization source object this link objet holds information for.
- IncomingRTPPktLink* MembershipBookkeeping::SyncSourceLink::getFirst ()
- [inline]
Get first RTP (data) packet in the queue of packets received from this socket. - void MembershipBookkeeping::SyncSourceLink::setFirst (IncomingRTPPktLink *
- fp) [inline]
- IncomingRTPPktLink* MembershipBookkeeping::SyncSourceLink::getLast ()
- [inline]
Get last RTP (data) packet in the queue of packets received from this
socket. - void MembershipBookkeeping::SyncSourceLink::setLast (IncomingRTPPktLink *
- lp) [inline]
- SyncSourceLink* MembershipBookkeeping::SyncSourceLink::getPrev () [inline]
- Get the link object for the previous RTP source.
- void MembershipBookkeeping::SyncSourceLink::setPrev (SyncSourceLink * ps)
- [inline]
- SyncSourceLink* MembershipBookkeeping::SyncSourceLink::getNext () [inline]
- Get the link object for the next RTP source.
- void MembershipBookkeeping::SyncSourceLink::setNext (SyncSourceLink * ns)
- [inline]
- SyncSourceLink* MembershipBookkeeping::SyncSourceLink::getNextCollis ()
- [inline]
Get the link object for the next RTP source in the hash table entry
collision list. - Note that collision does not refer to SSRC collision, but hash table
collision. - void MembershipBookkeeping::SyncSourceLink::setNextCollis (SyncSourceLink *
- ns) [inline]
- ConflictingTransportAddress*
- MembershipBookkeeping::SyncSourceLink::getPrevConflict () const [inline]
- void MembershipBookkeeping::SyncSourceLink::setPrevConflict (InetAddress &
- addr, tpport_t dataPort, tpport_t controlPort) Get conflicting address.
- unsigned char* MembershipBookkeeping::SyncSourceLink::getSenderInfo ()
- [inline]
- void MembershipBookkeeping::SyncSourceLink::setSenderInfo (unsigned char *
- si)
- unsigned char* MembershipBookkeeping::SyncSourceLink::getReceiverInfo ()
- [inline]
- void MembershipBookkeeping::SyncSourceLink::setReceiverInfo (unsigned char
- * ri)
- timeval MembershipBookkeeping::SyncSourceLink::getLastPacketTime () const
- [inline]
- timeval MembershipBookkeeping::SyncSourceLink::getLastRTCPPacketTime ()
- const [inline]
- timeval MembershipBookkeeping::SyncSourceLink::getLastRTCPSRTime () const
- [inline]
- uint32 MembershipBookkeeping::SyncSourceLink::getObservedPacketCount ()
- const [inline]
Get the total number of RTP packets received from this source. - void MembershipBookkeeping::SyncSourceLink::incObservedPacketCount ()
- [inline]
- uint32 MembershipBookkeeping::SyncSourceLink::getObservedOctetCount ()
- const [inline]
Get the total number of payload octets received from this source. - void MembershipBookkeeping::SyncSourceLink::incObservedOctetCount (uint32
- n) [inline]
- uint16 MembershipBookkeeping::SyncSourceLink::getMaxSeqNum () const
- [inline]
Get the highest valid sequence number received. - void MembershipBookkeeping::SyncSourceLink::setMaxSeqNum (uint16 max)
- [inline]
Set the highest valid sequence number recived. - Parameters:
max Sequence number.
- uint32 MembershipBookkeeping::SyncSourceLink::getExtendedMaxSeqNum () const
- [inline]
- void MembershipBookkeeping::SyncSourceLink::setExtendedMaxSeqNum (uint32
- seq) [inline]
- uint32 MembershipBookkeeping::SyncSourceLink::getCumulativePacketLost ()
- const [inline]
- void MembershipBookkeeping::SyncSourceLink::setCumulativePacketLost (uint32
- pl) [inline]
- uint8 MembershipBookkeeping::SyncSourceLink::getFractionLost () const
- [inline]
- void MembershipBookkeeping::SyncSourceLink::setFractionLost (uint8 fl)
- [inline]
- uint32 MembershipBookkeeping::SyncSourceLink::getLastPacketTransitTime ()
- [inline]
- void MembershipBookkeeping::SyncSourceLink::setLastPacketTransitTime
- (uint32 time) [inline]
- float MembershipBookkeeping::SyncSourceLink::getJitter () const [inline] void MembershipBookkeeping::SyncSourceLink::setJitter (float j) [inline] uint32 MembershipBookkeeping::SyncSourceLink::getInitialDataTimestamp ()
- const [inline]
- void MembershipBookkeeping::SyncSourceLink::setInitialDataTimestamp (uint32
- ts) [inline]
- timeval MembershipBookkeeping::SyncSourceLink::getInitialDataTime () const
- [inline]
- void MembershipBookkeeping::SyncSourceLink::setInitialDataTime (timeval it)
- [inline]
- bool MembershipBookkeeping::SyncSourceLink::getGoodbye () [inline]
- Mark this source as having sent a BYE control packet.
- Returns:
whether some packet from this source had been received before
(getHello() has been called at least once) - bool MembershipBookkeeping::SyncSourceLink::getHello () [inline]
- Mark this source as having sent some packet.
- Returns:
whether no packet from this source had been received before
- uint32 MembershipBookkeeping::SyncSourceLink::getBadSeqNum () const
- [inline]
- void MembershipBookkeeping::SyncSourceLink::setBadSeqNum (uint32 seq)
- [inline]
- uint8 MembershipBookkeeping::SyncSourceLink::getProbation () const [inline] void MembershipBookkeeping::SyncSourceLink::setProbation (uint8 p) [inline] void MembershipBookkeeping::SyncSourceLink::decProbation () [inline] bool MembershipBookkeeping::SyncSourceLink::isValid () const [inline] uint16 MembershipBookkeeping::SyncSourceLink::getBaseSeqNum () const
- [inline]
- uint32 MembershipBookkeeping::SyncSourceLink::getSeqNumAccum () const
- [inline]
- void MembershipBookkeeping::SyncSourceLink::incSeqNumAccum () [inline] void MembershipBookkeeping::SyncSourceLink::initSequence (uint16 seqnum)
- [inline]
Start a new sequence of received packets. - void MembershipBookkeeping::SyncSourceLink::recordInsertion (const
- IncomingRTPPktLink & pl)
Record the insertion of an RTP packet from this source into the
scheduled reception queue. - All received packets should be registered with recordReception(), but
only those actually inserted into the queue should be registered via
this method. - Parameters:
pl Link structure for packet inserted into the queue.
- void MembershipBookkeeping::SyncSourceLink::initStats () void MembershipBookkeeping::SyncSourceLink::computeStats ()
- Compute cumulative packet lost and fraction of packets lost during the last reporting interval.
Member Data Documentation
- const uint32 MembershipBookkeeping::SyncSourceLink::SEQNUMMOD [static] MembershipBookkeeping* MembershipBookkeeping::SyncSourceLink::membership SyncSource* MembershipBookkeeping::SyncSourceLink::source IncomingRTPPktLink* MembershipBookkeeping::SyncSourceLink::first IncomingRTPPktLink * MembershipBookkeeping::SyncSourceLink::last SyncSourceLink* MembershipBookkeeping::SyncSourceLink::prev SyncSourceLink * MembershipBookkeeping::SyncSourceLink::next SyncSourceLink* MembershipBookkeeping::SyncSourceLink::nextCollis ConflictingTransportAddress*
- MembershipBookkeeping::SyncSourceLink::prevConflict
- unsigned char* MembershipBookkeeping::SyncSourceLink::senderInfo unsigned char* MembershipBookkeeping::SyncSourceLink::receiverInfo timeval MembershipBookkeeping::SyncSourceLink::lastPacketTime timeval MembershipBookkeeping::SyncSourceLink::lastRTCPPacketTime timeval MembershipBookkeeping::SyncSourceLink::lastRTCPSRTime uint32 MembershipBookkeeping::SyncSourceLink::obsPacketCount uint32 MembershipBookkeeping::SyncSourceLink::obsOctetCount uint16 MembershipBookkeeping::SyncSourceLink::maxSeqNum uint32 MembershipBookkeeping::SyncSourceLink::extendedMaxSeqNum uint32 MembershipBookkeeping::SyncSourceLink::cumulativePacketLost uint8 MembershipBookkeeping::SyncSourceLink::fractionLost uint32 MembershipBookkeeping::SyncSourceLink::lastPacketTransitTime float MembershipBookkeeping::SyncSourceLink::jitter uint32 MembershipBookkeeping::SyncSourceLink::initialDataTimestamp timeval MembershipBookkeeping::SyncSourceLink::initialDataTime bool MembershipBookkeeping::SyncSourceLink::flag uint32 MembershipBookkeeping::SyncSourceLink::badSeqNum uint8 MembershipBookkeeping::SyncSourceLink::probation uint16 MembershipBookkeeping::SyncSourceLink::baseSeqNum uint32 MembershipBookkeeping::SyncSourceLink::expectedPrior uint32 MembershipBookkeeping::SyncSourceLink::receivedPrior uint32 MembershipBookkeeping::SyncSourceLink::seqNumAccum
Author
- Generated automatically by Doxygen for ccRTP from the source code.