MembershipBookkeeping::SyncSourceLink(3) | Library Functions Manual | 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
void setBaseSeqNum (uint16 seqnum)
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
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¶
void MembershipBookkeeping::SyncSourceLink::computeStats ()¶
Compute cumulative packet lost and fraction of packets lost during the last reporting interval.
void MembershipBookkeeping::SyncSourceLink::decProbation () [inline]¶
uint32 MembershipBookkeeping::SyncSourceLink::getBadSeqNum () const [inline]¶
uint16 MembershipBookkeeping::SyncSourceLink::getBaseSeqNum () const [inline]¶
uint32 MembershipBookkeeping::SyncSourceLink::getCumulativePacketLost () const [inline]¶
uint32 MembershipBookkeeping::SyncSourceLink::getExtendedMaxSeqNum () const [inline]¶
IncomingRTPPktLink * MembershipBookkeeping::SyncSourceLink::getFirst () [inline]¶
Get first RTP (data) packet in the queue of packets received from this socket.
uint8 MembershipBookkeeping::SyncSourceLink::getFractionLost () const [inline]¶
bool MembershipBookkeeping::SyncSourceLink::getGoodbye () [inline]¶
Mark this source as having sent a BYE control packet.
Returns
bool MembershipBookkeeping::SyncSourceLink::getHello () [inline]¶
Mark this source as having sent some packet.
Returns
timeval MembershipBookkeeping::SyncSourceLink::getInitialDataTime () const [inline]¶
uint32 MembershipBookkeeping::SyncSourceLink::getInitialDataTimestamp () const [inline]¶
float MembershipBookkeeping::SyncSourceLink::getJitter () const [inline]¶
IncomingRTPPktLink * MembershipBookkeeping::SyncSourceLink::getLast () [inline]¶
Get last RTP (data) packet in the queue of packets received from this socket.
timeval MembershipBookkeeping::SyncSourceLink::getLastPacketTime () const [inline]¶
uint32 MembershipBookkeeping::SyncSourceLink::getLastPacketTransitTime () [inline]¶
timeval MembershipBookkeeping::SyncSourceLink::getLastRTCPPacketTime () const [inline]¶
timeval MembershipBookkeeping::SyncSourceLink::getLastRTCPSRTime () const [inline]¶
uint16 MembershipBookkeeping::SyncSourceLink::getMaxSeqNum () const [inline]¶
Get the highest valid sequence number received.
MembershipBookkeeping * MembershipBookkeeping::SyncSourceLink::getMembership () [inline]¶
SyncSourceLink * MembershipBookkeeping::SyncSourceLink::getNext () [inline]¶
Get the link object for the next RTP source.
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.
uint32 MembershipBookkeeping::SyncSourceLink::getObservedOctetCount () const [inline]¶
Get the total number of payload octets received from this source.
uint32 MembershipBookkeeping::SyncSourceLink::getObservedPacketCount () const [inline]¶
Get the total number of RTP packets received from this source.
SyncSourceLink * MembershipBookkeeping::SyncSourceLink::getPrev () [inline]¶
Get the link object for the previous RTP source.
ConflictingTransportAddress * MembershipBookkeeping::SyncSourceLink::getPrevConflict () const [inline]¶
uint8 MembershipBookkeeping::SyncSourceLink::getProbation () const [inline]¶
unsigned char * MembershipBookkeeping::SyncSourceLink::getReceiverInfo () [inline]¶
unsigned char * MembershipBookkeeping::SyncSourceLink::getSenderInfo () [inline]¶
uint32 MembershipBookkeeping::SyncSourceLink::getSeqNumAccum () const [inline]¶
SyncSource * MembershipBookkeeping::SyncSourceLink::getSource () [inline]¶
Get the synchronization source object this link objet holds information for.
void MembershipBookkeeping::SyncSourceLink::incObservedOctetCount (uint32 n) [inline]¶
void MembershipBookkeeping::SyncSourceLink::incObservedPacketCount () [inline]¶
void MembershipBookkeeping::SyncSourceLink::incSeqNumAccum () [inline]¶
void MembershipBookkeeping::SyncSourceLink::initSequence (uint16 seqnum) [inline]¶
Start a new sequence of received packets.
void MembershipBookkeeping::SyncSourceLink::initStats ()¶
bool MembershipBookkeeping::SyncSourceLink::isValid () const [inline]¶
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
void MembershipBookkeeping::SyncSourceLink::setBadSeqNum (uint32 seq) [inline]¶
void MembershipBookkeeping::SyncSourceLink::setBaseSeqNum (uint16 seqnum) [inline]¶
void MembershipBookkeeping::SyncSourceLink::setCumulativePacketLost (uint32 pl) [inline]¶
void MembershipBookkeeping::SyncSourceLink::setExtendedMaxSeqNum (uint32 seq) [inline]¶
void MembershipBookkeeping::SyncSourceLink::setFirst (IncomingRTPPktLink * fp) [inline]¶
void MembershipBookkeeping::SyncSourceLink::setFractionLost (uint8 fl) [inline]¶
void MembershipBookkeeping::SyncSourceLink::setInitialDataTime (timeval it) [inline]¶
void MembershipBookkeeping::SyncSourceLink::setInitialDataTimestamp (uint32 ts) [inline]¶
void MembershipBookkeeping::SyncSourceLink::setJitter (float j) [inline]¶
void MembershipBookkeeping::SyncSourceLink::setLast (IncomingRTPPktLink * lp) [inline]¶
void MembershipBookkeeping::SyncSourceLink::setLastPacketTransitTime (uint32 time) [inline]¶
void MembershipBookkeeping::SyncSourceLink::setMaxSeqNum (uint16 max) [inline]¶
Set the highest valid sequence number recived.
Parameters
void MembershipBookkeeping::SyncSourceLink::setNext (SyncSourceLink * ns) [inline]¶
void MembershipBookkeeping::SyncSourceLink::setNextCollis (SyncSourceLink * ns) [inline]¶
void MembershipBookkeeping::SyncSourceLink::setPrev (SyncSourceLink * ps) [inline]¶
void MembershipBookkeeping::SyncSourceLink::setPrevConflict (InetAddress & addr, tpport_t dataPort, tpport_t controlPort)¶
Get conflicting address.
void MembershipBookkeeping::SyncSourceLink::setProbation (uint8 p) [inline]¶
void MembershipBookkeeping::SyncSourceLink::setReceiverInfo (unsigned char * ri)¶
void MembershipBookkeeping::SyncSourceLink::setSenderInfo (unsigned char * si)¶
Member Data Documentation¶
uint32 MembershipBookkeeping::SyncSourceLink::badSeqNum¶
uint16 MembershipBookkeeping::SyncSourceLink::baseSeqNum¶
uint32 MembershipBookkeeping::SyncSourceLink::cumulativePacketLost¶
uint32 MembershipBookkeeping::SyncSourceLink::expectedPrior¶
uint32 MembershipBookkeeping::SyncSourceLink::extendedMaxSeqNum¶
IncomingRTPPktLink* MembershipBookkeeping::SyncSourceLink::first¶
bool MembershipBookkeeping::SyncSourceLink::flag¶
uint8 MembershipBookkeeping::SyncSourceLink::fractionLost¶
timeval MembershipBookkeeping::SyncSourceLink::initialDataTime¶
uint32 MembershipBookkeeping::SyncSourceLink::initialDataTimestamp¶
float MembershipBookkeeping::SyncSourceLink::jitter¶
IncomingRTPPktLink * MembershipBookkeeping::SyncSourceLink::last¶
timeval MembershipBookkeeping::SyncSourceLink::lastPacketTime¶
uint32 MembershipBookkeeping::SyncSourceLink::lastPacketTransitTime¶
timeval MembershipBookkeeping::SyncSourceLink::lastRTCPPacketTime¶
timeval MembershipBookkeeping::SyncSourceLink::lastRTCPSRTime¶
uint16 MembershipBookkeeping::SyncSourceLink::maxSeqNum¶
MembershipBookkeeping* MembershipBookkeeping::SyncSourceLink::membership¶
SyncSourceLink * MembershipBookkeeping::SyncSourceLink::next¶
SyncSourceLink* MembershipBookkeeping::SyncSourceLink::nextCollis¶
uint32 MembershipBookkeeping::SyncSourceLink::obsOctetCount¶
uint32 MembershipBookkeeping::SyncSourceLink::obsPacketCount¶
SyncSourceLink* MembershipBookkeeping::SyncSourceLink::prev¶
ConflictingTransportAddress* MembershipBookkeeping::SyncSourceLink::prevConflict¶
uint8 MembershipBookkeeping::SyncSourceLink::probation¶
uint32 MembershipBookkeeping::SyncSourceLink::receivedPrior¶
unsigned char* MembershipBookkeeping::SyncSourceLink::receiverInfo¶
unsigned char* MembershipBookkeeping::SyncSourceLink::senderInfo¶
uint32 MembershipBookkeeping::SyncSourceLink::seqNumAccum¶
const uint32 MembershipBookkeeping::SyncSourceLink::SEQNUMMOD [static]¶
SyncSource* MembershipBookkeeping::SyncSourceLink::source¶
Author¶
Generated automatically by Doxygen for ccRTP from the source code.
ccRTP |