reSIProcate/rutil  9694
Public Member Functions | Protected Attributes
resip::FifoStatsInterface Class Reference

Interface for providing metrics on FIFOs, primarily used by CongestionManager. More...

#include <AbstractFifo.hxx>

Inheritance diagram for resip::FifoStatsInterface:
Inheritance graph
[legend]
Collaboration diagram for resip::FifoStatsInterface:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 FifoStatsInterface ()
virtual ~FifoStatsInterface ()
virtual time_t expectedWaitTimeMilliSec () const =0
 Returns the expected time it will take to service all messages currently in the queue (in milli-seconds)
virtual time_t getTimeDepth () const =0
 Returns the difference in time between the youngest and oldest item in the FIFO in seconds.
virtual size_t getCountDepth () const =0
 Returns the number of elements in the FIFO.
virtual time_t averageServiceTimeMicroSec () const =0
 Returns the average time it takes for individual messages to be serviced (in micro-seconds)
UInt8 getRole () const
void setRole (UInt8 role)
void setDescription (const resip::Data &description)
 Sets the description for this fifo.
virtual const resip::DatagetDescription () const
 Gets the description for this fifo.

Protected Attributes

Data mDescription
UInt8 mRole

Detailed Description

Interface for providing metrics on FIFOs, primarily used by CongestionManager.

Provides four different types of metrics:

Definition at line 29 of file AbstractFifo.hxx.


Constructor & Destructor Documentation

FifoStatsInterface::FifoStatsInterface ( )

Definition at line 6 of file AbstractFifo.cxx.

                                       :
   mRole(0)
{
}
FifoStatsInterface::~FifoStatsInterface ( ) [virtual]

Definition at line 11 of file AbstractFifo.cxx.

{
}

Member Function Documentation

virtual time_t resip::FifoStatsInterface::averageServiceTimeMicroSec ( ) const [pure virtual]
virtual time_t resip::FifoStatsInterface::expectedWaitTimeMilliSec ( ) const [pure virtual]
virtual size_t resip::FifoStatsInterface::getCountDepth ( ) const [pure virtual]
virtual const resip::Data& resip::FifoStatsInterface::getDescription ( ) const [inline, virtual]

Gets the description for this fifo.

See also:
setDescription()

Definition at line 93 of file AbstractFifo.hxx.

References mDescription.

Referenced by resip::GeneralCongestionManager::encodeFifoStats().

{return mDescription;}
UInt8 resip::FifoStatsInterface::getRole ( ) const [inline]

Return this fifo's role-number. The meaning of the return is defined on a per-application basis, and will have special meaning to the CongestionManager implementation specific to that app. For instance, 1 might be understood to represent the main state machine fifo in resip, 2 might indicate a transport fifo (of which there may be several), 3 might indicate a particular TU's fifo, etc. These are intended for use by CongestionManager only.

Definition at line 69 of file AbstractFifo.hxx.

References mRole.

Referenced by resip::GeneralCongestionManager::encodeFifoStats(), resip::GeneralCongestionManager::getCongestionPercent(), and resip::GeneralCongestionManager::unregisterFifo().

{return mRole;}
virtual time_t resip::FifoStatsInterface::getTimeDepth ( ) const [pure virtual]
void resip::FifoStatsInterface::setDescription ( const resip::Data description) [inline]

Sets the description for this fifo.

This is used in the logging for this fifo's statistics, and can also be used by the CongestionManager to assign a role-number.

Parameters:
descriptionThe description for this fifo.

Definition at line 84 of file AbstractFifo.hxx.

References mDescription.

      {
         mDescription=description;
      }
void resip::FifoStatsInterface::setRole ( UInt8  role) [inline]

Set this fifo's role-number.

See also:
getRole()

Definition at line 76 of file AbstractFifo.hxx.

References mRole.

Referenced by resip::GeneralCongestionManager::registerFifo().

{mRole=role;}

Member Data Documentation

Definition at line 96 of file AbstractFifo.hxx.

Referenced by getDescription(), and setDescription().

Definition at line 97 of file AbstractFifo.hxx.

Referenced by getRole(), and setRole().


The documentation for this class was generated from the following files: