ost::MembershipBookkeeping::SyncSourceLink Struct Reference

Synchronization Source internal handler within the incoming packets queue. More...

#include <iqueue.h>

List of all members.

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.
MembershipBookkeepinggetMembership ()
SyncSourcegetSource ()
 Get the synchronization source object this link objet holds information for.
IncomingRTPPktLinkgetFirst ()
 Get first RTP (data) packet in the queue of packets received from this socket.
void setFirst (IncomingRTPPktLink *fp)
IncomingRTPPktLinkgetLast ()
 Get last RTP (data) packet in the queue of packets received from this socket.
void setLast (IncomingRTPPktLink *lp)
SyncSourceLinkgetPrev ()
 Get the link object for the previous RTP source.
void setPrev (SyncSourceLink *ps)
SyncSourceLinkgetNext ()
 Get the link object for the next RTP source.
void setNext (SyncSourceLink *ns)
SyncSourceLinkgetNextCollis ()
 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

MembershipBookkeepingmembership
SyncSourcesource
IncomingRTPPktLinkfirst
IncomingRTPPktLinklast
SyncSourceLinkprev
SyncSourceLinknext
SyncSourceLinknextCollis
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

ost::MembershipBookkeeping::SyncSourceLink::SyncSourceLink MembershipBookkeeping m,
SyncSource s,
IncomingRTPPktLink fp = NULL,
IncomingRTPPktLink lp = NULL,
SyncSourceLink ps = NULL,
SyncSourceLink ns = NULL,
SyncSourceLink ncollis = NULL
[inline]
 

ost::MembershipBookkeeping::SyncSourceLink::~SyncSourceLink  ) 
 

Note it deletes the source.


Member Function Documentation

void ost::MembershipBookkeeping::SyncSourceLink::computeStats  ) 
 

Compute cumulative packet lost and fraction of packets lost during the last reporting interval.

void ost::MembershipBookkeeping::SyncSourceLink::decProbation  )  [inline]
 

uint32 ost::MembershipBookkeeping::SyncSourceLink::getBadSeqNum  )  const [inline]
 

uint16 ost::MembershipBookkeeping::SyncSourceLink::getBaseSeqNum  )  const [inline]
 

uint32 ost::MembershipBookkeeping::SyncSourceLink::getCumulativePacketLost  )  const [inline]
 

uint32 ost::MembershipBookkeeping::SyncSourceLink::getExtendedMaxSeqNum  )  const [inline]
 

IncomingRTPPktLink* ost::MembershipBookkeeping::SyncSourceLink::getFirst  )  [inline]
 

Get first RTP (data) packet in the queue of packets received from this socket.

uint8 ost::MembershipBookkeeping::SyncSourceLink::getFractionLost  )  const [inline]
 

bool ost::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 ost::MembershipBookkeeping::SyncSourceLink::getHello  )  [inline]
 

Mark this source as having sent some packet.

Returns:
whether no packet from this source had been received before

timeval ost::MembershipBookkeeping::SyncSourceLink::getInitialDataTime  )  const [inline]
 

uint32 ost::MembershipBookkeeping::SyncSourceLink::getInitialDataTimestamp  )  const [inline]
 

float ost::MembershipBookkeeping::SyncSourceLink::getJitter  )  const [inline]
 

IncomingRTPPktLink* ost::MembershipBookkeeping::SyncSourceLink::getLast  )  [inline]
 

Get last RTP (data) packet in the queue of packets received from this socket.

timeval ost::MembershipBookkeeping::SyncSourceLink::getLastPacketTime  )  const [inline]
 

uint32 ost::MembershipBookkeeping::SyncSourceLink::getLastPacketTransitTime  )  [inline]
 

timeval ost::MembershipBookkeeping::SyncSourceLink::getLastRTCPPacketTime  )  const [inline]
 

timeval ost::MembershipBookkeeping::SyncSourceLink::getLastRTCPSRTime  )  const [inline]
 

uint16 ost::MembershipBookkeeping::SyncSourceLink::getMaxSeqNum  )  const [inline]
 

Get the highest valid sequence number received.

MembershipBookkeeping* ost::MembershipBookkeeping::SyncSourceLink::getMembership  )  [inline]
 

SyncSourceLink* ost::MembershipBookkeeping::SyncSourceLink::getNext  )  [inline]
 

Get the link object for the next RTP source.

SyncSourceLink* ost::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 ost::MembershipBookkeeping::SyncSourceLink::getObservedOctetCount  )  const [inline]
 

Get the total number of payload octets received from this source.

uint32 ost::MembershipBookkeeping::SyncSourceLink::getObservedPacketCount  )  const [inline]
 

Get the total number of RTP packets received from this source.

SyncSourceLink* ost::MembershipBookkeeping::SyncSourceLink::getPrev  )  [inline]
 

Get the link object for the previous RTP source.

ConflictingTransportAddress* ost::MembershipBookkeeping::SyncSourceLink::getPrevConflict  )  const [inline]
 

uint8 ost::MembershipBookkeeping::SyncSourceLink::getProbation  )  const [inline]
 

unsigned char* ost::MembershipBookkeeping::SyncSourceLink::getReceiverInfo  )  [inline]
 

unsigned char* ost::MembershipBookkeeping::SyncSourceLink::getSenderInfo  )  [inline]
 

uint32 ost::MembershipBookkeeping::SyncSourceLink::getSeqNumAccum  )  const [inline]
 

SyncSource* ost::MembershipBookkeeping::SyncSourceLink::getSource  )  [inline]
 

Get the synchronization source object this link objet holds information for.

void ost::MembershipBookkeeping::SyncSourceLink::incObservedOctetCount uint32  n  )  [inline]
 

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

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

void ost::MembershipBookkeeping::SyncSourceLink::initSequence uint16  seqnum  )  [inline]
 

Start a new sequence of received packets.

void ost::MembershipBookkeeping::SyncSourceLink::initStats  ) 
 

bool ost::MembershipBookkeeping::SyncSourceLink::isValid  )  const [inline]
 

void ost::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 ost::MembershipBookkeeping::SyncSourceLink::setBadSeqNum uint32  seq  )  [inline]
 

void ost::MembershipBookkeeping::SyncSourceLink::setCumulativePacketLost uint32  pl  )  [inline]
 

void ost::MembershipBookkeeping::SyncSourceLink::setExtendedMaxSeqNum uint32  seq  )  [inline]
 

void ost::MembershipBookkeeping::SyncSourceLink::setFirst IncomingRTPPktLink fp  )  [inline]
 

void ost::MembershipBookkeeping::SyncSourceLink::setFractionLost uint8  fl  )  [inline]
 

void ost::MembershipBookkeeping::SyncSourceLink::setInitialDataTime timeval  it  )  [inline]
 

void ost::MembershipBookkeeping::SyncSourceLink::setInitialDataTimestamp uint32  ts  )  [inline]
 

void ost::MembershipBookkeeping::SyncSourceLink::setJitter float  j  )  [inline]
 

void ost::MembershipBookkeeping::SyncSourceLink::setLast IncomingRTPPktLink lp  )  [inline]
 

void ost::MembershipBookkeeping::SyncSourceLink::setLastPacketTransitTime uint32  time  )  [inline]
 

void ost::MembershipBookkeeping::SyncSourceLink::setMaxSeqNum uint16  max  )  [inline]
 

Set the highest valid sequence number recived.

Parameters:
max Sequence number.

void ost::MembershipBookkeeping::SyncSourceLink::setNext SyncSourceLink ns  )  [inline]
 

void ost::MembershipBookkeeping::SyncSourceLink::setNextCollis SyncSourceLink ns  )  [inline]
 

void ost::MembershipBookkeeping::SyncSourceLink::setPrev SyncSourceLink ps  )  [inline]
 

void ost::MembershipBookkeeping::SyncSourceLink::setPrevConflict InetAddress &  addr,
tpport_t  dataPort,
tpport_t  controlPort
 

Get conflicting address.

void ost::MembershipBookkeeping::SyncSourceLink::setProbation uint8  p  )  [inline]
 

void ost::MembershipBookkeeping::SyncSourceLink::setReceiverInfo unsigned char *  ri  ) 
 

void ost::MembershipBookkeeping::SyncSourceLink::setSenderInfo unsigned char *  si  ) 
 


Member Data Documentation

uint32 ost::MembershipBookkeeping::SyncSourceLink::badSeqNum
 

uint16 ost::MembershipBookkeeping::SyncSourceLink::baseSeqNum
 

uint32 ost::MembershipBookkeeping::SyncSourceLink::cumulativePacketLost
 

uint32 ost::MembershipBookkeeping::SyncSourceLink::expectedPrior
 

uint32 ost::MembershipBookkeeping::SyncSourceLink::extendedMaxSeqNum
 

IncomingRTPPktLink* ost::MembershipBookkeeping::SyncSourceLink::first
 

bool ost::MembershipBookkeeping::SyncSourceLink::flag
 

uint8 ost::MembershipBookkeeping::SyncSourceLink::fractionLost
 

timeval ost::MembershipBookkeeping::SyncSourceLink::initialDataTime
 

uint32 ost::MembershipBookkeeping::SyncSourceLink::initialDataTimestamp
 

float ost::MembershipBookkeeping::SyncSourceLink::jitter
 

IncomingRTPPktLink * ost::MembershipBookkeeping::SyncSourceLink::last
 

timeval ost::MembershipBookkeeping::SyncSourceLink::lastPacketTime
 

uint32 ost::MembershipBookkeeping::SyncSourceLink::lastPacketTransitTime
 

timeval ost::MembershipBookkeeping::SyncSourceLink::lastRTCPPacketTime
 

timeval ost::MembershipBookkeeping::SyncSourceLink::lastRTCPSRTime
 

uint16 ost::MembershipBookkeeping::SyncSourceLink::maxSeqNum
 

MembershipBookkeeping* ost::MembershipBookkeeping::SyncSourceLink::membership
 

SyncSourceLink * ost::MembershipBookkeeping::SyncSourceLink::next
 

SyncSourceLink* ost::MembershipBookkeeping::SyncSourceLink::nextCollis
 

uint32 ost::MembershipBookkeeping::SyncSourceLink::obsOctetCount
 

uint32 ost::MembershipBookkeeping::SyncSourceLink::obsPacketCount
 

SyncSourceLink* ost::MembershipBookkeeping::SyncSourceLink::prev
 

ConflictingTransportAddress* ost::MembershipBookkeeping::SyncSourceLink::prevConflict
 

uint8 ost::MembershipBookkeeping::SyncSourceLink::probation
 

uint32 ost::MembershipBookkeeping::SyncSourceLink::receivedPrior
 

unsigned char* ost::MembershipBookkeeping::SyncSourceLink::receiverInfo
 

unsigned char* ost::MembershipBookkeeping::SyncSourceLink::senderInfo
 

uint32 ost::MembershipBookkeeping::SyncSourceLink::seqNumAccum
 

const uint32 ost::MembershipBookkeeping::SyncSourceLink::SEQNUMMOD [static]
 

SyncSource* ost::MembershipBookkeeping::SyncSourceLink::source
 


The documentation for this struct was generated from the following file:
Generated on Thu Apr 6 09:03:06 2006 for Bayonne Framework by  doxygen 1.4.6