Man Linux: Main Page and Category List

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

   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:
           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

   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:
           pl Link structure for packet inserted into the queue.

   void MembershipBookkeeping::SyncSourceLink::setBadSeqNum (uint32 seq)
       [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:
           max Sequence number.

   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                             30 AMembershipBookkeeping::SyncSourceLink(3)