Bayonne2 / Common C++ 2 Framework
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Data Fields | Static Public Attributes
MembershipBookkeeping::SyncSourceLink Struct Reference

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

#include <iqueue.h>

Collaboration diagram for MembershipBookkeeping::SyncSourceLink:
Collaboration graph
[legend]

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. More...
 
MembershipBookkeepinggetMembership ()
 
SyncSourcegetSource ()
 Get the synchronization source object this link objet holds information for. More...
 
IncomingRTPPktLinkgetFirst ()
 Get first RTP (data) packet in the queue of packets received from this socket. More...
 
void setFirst (IncomingRTPPktLink *fp)
 
IncomingRTPPktLinkgetLast ()
 Get last RTP (data) packet in the queue of packets received from this socket. More...
 
void setLast (IncomingRTPPktLink *lp)
 
SyncSourceLinkgetPrev ()
 Get the link object for the previous RTP source. More...
 
void setPrev (SyncSourceLink *ps)
 
SyncSourceLinkgetNext ()
 Get the link object for the next RTP source. More...
 
void setNext (SyncSourceLink *ns)
 
SyncSourceLinkgetNextCollis ()
 Get the link object for the next RTP source in the hash table entry collision list. More...
 
void setNextCollis (SyncSourceLink *ns)
 
ConflictingTransportAddress * getPrevConflict () const
 
void setPrevConflict (InetAddress &addr, tpport_t dataPort, tpport_t controlPort)
 Get conflicting address. More...
 
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. More...
 
void incObservedPacketCount ()
 
uint32 getObservedOctetCount () const
 Get the total number of payload octets received from this source. More...
 
void incObservedOctetCount (uint32 n)
 
uint16 getMaxSeqNum () const
 Get the highest valid sequence number received. More...
 
void setMaxSeqNum (uint16 max)
 Set the highest valid sequence number recived. More...
 
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. More...
 
bool getHello ()
 Mark this source as having sent some packet. More...
 
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. More...
 
void recordInsertion (const IncomingRTPPktLink &pl)
 Record the insertion of an RTP packet from this source into the scheduled reception queue. More...
 
void initStats ()
 
void computeStats ()
 Compute cumulative packet lost and fraction of packets lost during the last reporting interval. More...
 

Data Fields

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 fedem.nosp@m.p@al.nosp@m.tern..nosp@m.org

Definition at line 472 of file iqueue.h.

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

Definition at line 477 of file iqueue.h.

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

Definition at line 702 of file iqueue.h.

uint32 MembershipBookkeeping::SyncSourceLink::getBadSeqNum ( ) const
inline

Definition at line 690 of file iqueue.h.

uint16 MembershipBookkeeping::SyncSourceLink::getBaseSeqNum ( ) const
inline

Definition at line 708 of file iqueue.h.

uint32 MembershipBookkeeping::SyncSourceLink::getCumulativePacketLost ( ) const
inline

Definition at line 626 of file iqueue.h.

uint32 MembershipBookkeeping::SyncSourceLink::getExtendedMaxSeqNum ( ) const
inline

Definition at line 619 of file iqueue.h.

IncomingRTPPktLink* MembershipBookkeeping::SyncSourceLink::getFirst ( void  )
inline

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

Definition at line 509 of file iqueue.h.

uint8 MembershipBookkeeping::SyncSourceLink::getFractionLost ( ) const
inline

Definition at line 632 of file iqueue.h.

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)

Definition at line 669 of file iqueue.h.

bool MembershipBookkeeping::SyncSourceLink::getHello ( )
inline

Mark this source as having sent some packet.

Returns
whether no packet from this source had been received before

Definition at line 683 of file iqueue.h.

timeval MembershipBookkeeping::SyncSourceLink::getInitialDataTime ( ) const
inline

Definition at line 656 of file iqueue.h.

uint32 MembershipBookkeeping::SyncSourceLink::getInitialDataTimestamp ( ) const
inline

Definition at line 650 of file iqueue.h.

float MembershipBookkeeping::SyncSourceLink::getJitter ( ) const
inline

Definition at line 644 of file iqueue.h.

IncomingRTPPktLink* MembershipBookkeeping::SyncSourceLink::getLast ( void  )
inline

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

Definition at line 519 of file iqueue.h.

timeval MembershipBookkeeping::SyncSourceLink::getLastPacketTime ( ) const
inline

Definition at line 574 of file iqueue.h.

uint32 MembershipBookkeeping::SyncSourceLink::getLastPacketTransitTime ( )
inline

Definition at line 638 of file iqueue.h.

timeval MembershipBookkeeping::SyncSourceLink::getLastRTCPPacketTime ( ) const
inline

Definition at line 577 of file iqueue.h.

timeval MembershipBookkeeping::SyncSourceLink::getLastRTCPSRTime ( ) const
inline

Definition at line 580 of file iqueue.h.

uint16 MembershipBookkeeping::SyncSourceLink::getMaxSeqNum ( ) const
inline

Get the highest valid sequence number received.

Definition at line 607 of file iqueue.h.

MembershipBookkeeping* MembershipBookkeeping::SyncSourceLink::getMembership ( )
inline

Definition at line 496 of file iqueue.h.

SyncSourceLink* MembershipBookkeeping::SyncSourceLink::getNext ( )
inline

Get the link object for the next RTP source.

Definition at line 537 of file iqueue.h.

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.

Definition at line 549 of file iqueue.h.

uint32 MembershipBookkeeping::SyncSourceLink::getObservedOctetCount ( ) const
inline

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

Definition at line 597 of file iqueue.h.

uint32 MembershipBookkeeping::SyncSourceLink::getObservedPacketCount ( ) const
inline

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

Definition at line 587 of file iqueue.h.

SyncSourceLink* MembershipBookkeeping::SyncSourceLink::getPrev ( )
inline

Get the link object for the previous RTP source.

Definition at line 528 of file iqueue.h.

ConflictingTransportAddress* MembershipBookkeeping::SyncSourceLink::getPrevConflict ( ) const
inline

Definition at line 555 of file iqueue.h.

uint8 MembershipBookkeeping::SyncSourceLink::getProbation ( ) const
inline

Definition at line 696 of file iqueue.h.

unsigned char* MembershipBookkeeping::SyncSourceLink::getReceiverInfo ( )
inline

Definition at line 569 of file iqueue.h.

unsigned char* MembershipBookkeeping::SyncSourceLink::getSenderInfo ( )
inline

Definition at line 564 of file iqueue.h.

uint32 MembershipBookkeeping::SyncSourceLink::getSeqNumAccum ( ) const
inline

Definition at line 711 of file iqueue.h.

SyncSource* MembershipBookkeeping::SyncSourceLink::getSource ( )
inline

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

Definition at line 503 of file iqueue.h.

void MembershipBookkeeping::SyncSourceLink::incObservedOctetCount ( uint32  n)
inline

Definition at line 600 of file iqueue.h.

void MembershipBookkeeping::SyncSourceLink::incObservedPacketCount ( )
inline

Definition at line 590 of file iqueue.h.

void MembershipBookkeeping::SyncSourceLink::incSeqNumAccum ( )
inline

Definition at line 714 of file iqueue.h.

void MembershipBookkeeping::SyncSourceLink::initSequence ( uint16  seqnum)
inline

Start a new sequence of received packets.

Definition at line 720 of file iqueue.h.

void MembershipBookkeeping::SyncSourceLink::initStats ( )
bool MembershipBookkeeping::SyncSourceLink::isValid ( void  ) const
inline

Definition at line 705 of file iqueue.h.

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
plLink structure for packet inserted into the queue.
void MembershipBookkeeping::SyncSourceLink::setBadSeqNum ( uint32  seq)
inline

Definition at line 693 of file iqueue.h.

void MembershipBookkeeping::SyncSourceLink::setCumulativePacketLost ( uint32  pl)
inline

Definition at line 629 of file iqueue.h.

void MembershipBookkeeping::SyncSourceLink::setExtendedMaxSeqNum ( uint32  seq)
inline

Definition at line 623 of file iqueue.h.

void MembershipBookkeeping::SyncSourceLink::setFirst ( IncomingRTPPktLink fp)
inline

Definition at line 512 of file iqueue.h.

void MembershipBookkeeping::SyncSourceLink::setFractionLost ( uint8  fl)
inline

Definition at line 635 of file iqueue.h.

void MembershipBookkeeping::SyncSourceLink::setInitialDataTime ( timeval  it)
inline

Definition at line 659 of file iqueue.h.

void MembershipBookkeeping::SyncSourceLink::setInitialDataTimestamp ( uint32  ts)
inline

Definition at line 653 of file iqueue.h.

void MembershipBookkeeping::SyncSourceLink::setJitter ( float  j)
inline

Definition at line 647 of file iqueue.h.

void MembershipBookkeeping::SyncSourceLink::setLast ( IncomingRTPPktLink lp)
inline

Definition at line 522 of file iqueue.h.

void MembershipBookkeeping::SyncSourceLink::setLastPacketTransitTime ( uint32  time)
inline

Definition at line 641 of file iqueue.h.

void MembershipBookkeeping::SyncSourceLink::setMaxSeqNum ( uint16  max)
inline

Set the highest valid sequence number recived.

Parameters
maxSequence number.

Definition at line 615 of file iqueue.h.

void MembershipBookkeeping::SyncSourceLink::setNext ( SyncSourceLink ns)
inline

Definition at line 540 of file iqueue.h.

void MembershipBookkeeping::SyncSourceLink::setNextCollis ( SyncSourceLink ns)
inline

Definition at line 552 of file iqueue.h.

void MembershipBookkeeping::SyncSourceLink::setPrev ( SyncSourceLink ps)
inline

Definition at line 531 of file iqueue.h.

void MembershipBookkeeping::SyncSourceLink::setPrevConflict ( InetAddress addr,
tpport_t  dataPort,
tpport_t  controlPort 
)

Get conflicting address.

void MembershipBookkeeping::SyncSourceLink::setProbation ( uint8  p)
inline

Definition at line 699 of file iqueue.h.

void MembershipBookkeeping::SyncSourceLink::setReceiverInfo ( unsigned char *  ri)
void MembershipBookkeeping::SyncSourceLink::setSenderInfo ( unsigned char *  si)

Field Documentation

uint32 MembershipBookkeeping::SyncSourceLink::badSeqNum

Definition at line 787 of file iqueue.h.

uint16 MembershipBookkeeping::SyncSourceLink::baseSeqNum

Definition at line 789 of file iqueue.h.

uint32 MembershipBookkeeping::SyncSourceLink::cumulativePacketLost

Definition at line 773 of file iqueue.h.

uint32 MembershipBookkeeping::SyncSourceLink::expectedPrior

Definition at line 790 of file iqueue.h.

uint32 MembershipBookkeeping::SyncSourceLink::extendedMaxSeqNum

Definition at line 772 of file iqueue.h.

IncomingRTPPktLink* MembershipBookkeeping::SyncSourceLink::first

Definition at line 747 of file iqueue.h.

bool MembershipBookkeeping::SyncSourceLink::flag

Definition at line 784 of file iqueue.h.

uint8 MembershipBookkeeping::SyncSourceLink::fractionLost

Definition at line 774 of file iqueue.h.

timeval MembershipBookkeeping::SyncSourceLink::initialDataTime

Definition at line 780 of file iqueue.h.

uint32 MembershipBookkeeping::SyncSourceLink::initialDataTimestamp

Definition at line 779 of file iqueue.h.

float MembershipBookkeeping::SyncSourceLink::jitter

Definition at line 778 of file iqueue.h.

IncomingRTPPktLink * MembershipBookkeeping::SyncSourceLink::last

Definition at line 747 of file iqueue.h.

timeval MembershipBookkeeping::SyncSourceLink::lastPacketTime

Definition at line 758 of file iqueue.h.

uint32 MembershipBookkeeping::SyncSourceLink::lastPacketTransitTime

Definition at line 776 of file iqueue.h.

timeval MembershipBookkeeping::SyncSourceLink::lastRTCPPacketTime

Definition at line 760 of file iqueue.h.

timeval MembershipBookkeeping::SyncSourceLink::lastRTCPSRTime

Definition at line 763 of file iqueue.h.

uint16 MembershipBookkeeping::SyncSourceLink::maxSeqNum

Definition at line 771 of file iqueue.h.

MembershipBookkeeping* MembershipBookkeeping::SyncSourceLink::membership

Definition at line 743 of file iqueue.h.

SyncSourceLink * MembershipBookkeeping::SyncSourceLink::next

Definition at line 750 of file iqueue.h.

SyncSourceLink* MembershipBookkeeping::SyncSourceLink::nextCollis

Definition at line 752 of file iqueue.h.

uint32 MembershipBookkeeping::SyncSourceLink::obsOctetCount

Definition at line 769 of file iqueue.h.

uint32 MembershipBookkeeping::SyncSourceLink::obsPacketCount

Definition at line 767 of file iqueue.h.

SyncSourceLink* MembershipBookkeeping::SyncSourceLink::prev

Definition at line 750 of file iqueue.h.

ConflictingTransportAddress* MembershipBookkeeping::SyncSourceLink::prevConflict

Definition at line 753 of file iqueue.h.

uint8 MembershipBookkeeping::SyncSourceLink::probation

Definition at line 788 of file iqueue.h.

uint32 MembershipBookkeeping::SyncSourceLink::receivedPrior

Definition at line 791 of file iqueue.h.

unsigned char* MembershipBookkeeping::SyncSourceLink::receiverInfo

Definition at line 755 of file iqueue.h.

unsigned char* MembershipBookkeeping::SyncSourceLink::senderInfo

Definition at line 754 of file iqueue.h.

uint32 MembershipBookkeeping::SyncSourceLink::seqNumAccum

Definition at line 792 of file iqueue.h.

const uint32 MembershipBookkeeping::SyncSourceLink::SEQNUMMOD
static

Definition at line 475 of file iqueue.h.

SyncSource* MembershipBookkeeping::SyncSourceLink::source

Definition at line 745 of file iqueue.h.


The documentation for this struct was generated from the following file: