Poster of Linux kernelThe best gift for a Linux geek
MembershipBookkeeping::SyncSourceLink

MembershipBookkeeping::SyncSourceLink

Section: C Library Functions (3) Updated: Fri Apr 1 2011
Local index Up
 

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 (uint32n) [inline]

 

void MembershipBookkeeping::SyncSourceLink::incObservedPacketCount () [inline]

 

void MembershipBookkeeping::SyncSourceLink::incSeqNumAccum () [inline]

 

void MembershipBookkeeping::SyncSourceLink::initSequence (uint16seqnum) [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 (uint32seq) [inline]

 

void MembershipBookkeeping::SyncSourceLink::setCumulativePacketLost (uint32pl) [inline]

 

void MembershipBookkeeping::SyncSourceLink::setExtendedMaxSeqNum (uint32seq) [inline]

 

void MembershipBookkeeping::SyncSourceLink::setFirst (IncomingRTPPktLink *fp) [inline]

 

void MembershipBookkeeping::SyncSourceLink::setFractionLost (uint8fl) [inline]

 

void MembershipBookkeeping::SyncSourceLink::setInitialDataTime (timevalit) [inline]

 

void MembershipBookkeeping::SyncSourceLink::setInitialDataTimestamp (uint32ts) [inline]

 

void MembershipBookkeeping::SyncSourceLink::setJitter (floatj) [inline]

 

void MembershipBookkeeping::SyncSourceLink::setLast (IncomingRTPPktLink *lp) [inline]

 

void MembershipBookkeeping::SyncSourceLink::setLastPacketTransitTime (uint32time) [inline]

 

void MembershipBookkeeping::SyncSourceLink::setMaxSeqNum (uint16max) [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_tdataPort, tpport_tcontrolPort)

Get conflicting address.  

void MembershipBookkeeping::SyncSourceLink::setProbation (uint8p) [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.


 

Index

NAME
SYNOPSIS
Public Member Functions
Public Attributes
Static Public Attributes
Detailed Description
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 ()
Member Function Documentation
void MembershipBookkeeping::SyncSourceLink::computeStats ()
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]
uint8 MembershipBookkeeping::SyncSourceLink::getFractionLost () const [inline]
bool MembershipBookkeeping::SyncSourceLink::getGoodbye () [inline]
bool MembershipBookkeeping::SyncSourceLink::getHello () [inline]
timeval MembershipBookkeeping::SyncSourceLink::getInitialDataTime () const [inline]
uint32 MembershipBookkeeping::SyncSourceLink::getInitialDataTimestamp () const [inline]
float MembershipBookkeeping::SyncSourceLink::getJitter () const [inline]
IncomingRTPPktLink* MembershipBookkeeping::SyncSourceLink::getLast () [inline]
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]
MembershipBookkeeping* MembershipBookkeeping::SyncSourceLink::getMembership () [inline]
SyncSourceLink* MembershipBookkeeping::SyncSourceLink::getNext () [inline]
SyncSourceLink* MembershipBookkeeping::SyncSourceLink::getNextCollis () [inline]
uint32 MembershipBookkeeping::SyncSourceLink::getObservedOctetCount () const [inline]
uint32 MembershipBookkeeping::SyncSourceLink::getObservedPacketCount () const [inline]
SyncSourceLink* MembershipBookkeeping::SyncSourceLink::getPrev () [inline]
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]
void MembershipBookkeeping::SyncSourceLink::incObservedOctetCount (uint32n) [inline]
void MembershipBookkeeping::SyncSourceLink::incObservedPacketCount () [inline]
void MembershipBookkeeping::SyncSourceLink::incSeqNumAccum () [inline]
void MembershipBookkeeping::SyncSourceLink::initSequence (uint16seqnum) [inline]
void MembershipBookkeeping::SyncSourceLink::initStats ()
bool MembershipBookkeeping::SyncSourceLink::isValid () const [inline]
void MembershipBookkeeping::SyncSourceLink::recordInsertion (const IncomingRTPPktLink &pl)
void MembershipBookkeeping::SyncSourceLink::setBadSeqNum (uint32seq) [inline]
void MembershipBookkeeping::SyncSourceLink::setCumulativePacketLost (uint32pl) [inline]
void MembershipBookkeeping::SyncSourceLink::setExtendedMaxSeqNum (uint32seq) [inline]
void MembershipBookkeeping::SyncSourceLink::setFirst (IncomingRTPPktLink *fp) [inline]
void MembershipBookkeeping::SyncSourceLink::setFractionLost (uint8fl) [inline]
void MembershipBookkeeping::SyncSourceLink::setInitialDataTime (timevalit) [inline]
void MembershipBookkeeping::SyncSourceLink::setInitialDataTimestamp (uint32ts) [inline]
void MembershipBookkeeping::SyncSourceLink::setJitter (floatj) [inline]
void MembershipBookkeeping::SyncSourceLink::setLast (IncomingRTPPktLink *lp) [inline]
void MembershipBookkeeping::SyncSourceLink::setLastPacketTransitTime (uint32time) [inline]
void MembershipBookkeeping::SyncSourceLink::setMaxSeqNum (uint16max) [inline]
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_tdataPort, tpport_tcontrolPort)
void MembershipBookkeeping::SyncSourceLink::setProbation (uint8p) [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

This document was created by man2html, using the manual pages.
Time: 21:50:07 GMT, April 16, 2011