Bayonne2 / Common C++ 2 Framework
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

 
  Note it deletes the source. More...
 
 
  Get the synchronization source object this link objet holds information for. More...
 
  Get first RTP (data) packet in the queue of packets received from this socket. More...
 
 
  Get last RTP (data) packet in the queue of packets received from this socket. More...
 
 
  Get the link object for the previous RTP source. More...
 
void  setPrev (SyncSourceLink *ps)
 
  Get the link object for the next RTP source. More...
 
void  setNext (SyncSourceLink *ns)
 
  Get the link object for the next RTP source in the hash table entry collision list. More...
 
 
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...
 
 
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)
 
 
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...
 
  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

 
 
 
 
 
 
 
ConflictingTransportAddress *  prevConflict
 
unsigned char *  senderInfo
 
unsigned char *  receiverInfo
 
timeval  lastPacketTime
 
timeval  lastRTCPPacketTime
 
timeval  lastRTCPSRTime
 
uint32  obsPacketCount
 
uint32  obsOctetCount
 
uint16  maxSeqNum
 
 
 
uint8  fractionLost
 
 
float  jitter
 
 
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 ( MembershipBookkeepingm,
SyncSources,
IncomingRTPPktLinkfp = NULL,
IncomingRTPPktLinklp = NULL,
SyncSourceLinkps = NULL,
SyncSourceLinkns = NULL,
SyncSourceLinkncollis = 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 IncomingRTPPktLinkpl )

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

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 ( IncomingRTPPktLinkfp )
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 ( IncomingRTPPktLinklp )
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
max Sequence number.

Definition at line 615 of file iqueue.h.

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

Definition at line 540 of file iqueue.h.

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

Definition at line 552 of file iqueue.h.

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

Definition at line 531 of file iqueue.h.

void MembershipBookkeeping::SyncSourceLink::setPrevConflict ( InetAddressaddr,
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:

Generated on Dec 21, 2017 for commoncpp2-1.8.1, ccrtp-1.7.2, libzrtpcpp-2.3.4, ccscript3-1.1.7, ccaudio2-1.0.0 and bayonne2-2.3.2 (after installation in /usr/local/) by   doxygen 1.8.6

AltStyle によって変換されたページ (->オリジナル) /