|
reSIProcate/rutil
9694
|
Interface for providing metrics on FIFOs, primarily used by CongestionManager. More...
#include <AbstractFifo.hxx>


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::Data & | getDescription () const |
| Gets the description for this fifo. | |
Protected Attributes | |
| Data | mDescription |
| UInt8 | mRole |
Interface for providing metrics on FIFOs, primarily used by CongestionManager.
Provides four different types of metrics:
Definition at line 29 of file AbstractFifo.hxx.
| FifoStatsInterface::FifoStatsInterface | ( | ) |
Definition at line 6 of file AbstractFifo.cxx.
: mRole(0) { }
| FifoStatsInterface::~FifoStatsInterface | ( | ) | [virtual] |
Definition at line 11 of file AbstractFifo.cxx.
{
}
| virtual time_t resip::FifoStatsInterface::averageServiceTimeMicroSec | ( | ) | const [pure virtual] |
Returns the average time it takes for individual messages to be serviced (in micro-seconds)
Implemented in resip::AbstractFifo< T >, resip::AbstractFifo< Command * >, resip::AbstractFifo< T * >, resip::AbstractFifo< Timestamped< Foo * > >, resip::AbstractFifo< Msg * >, and resip::AbstractFifo< Timestamped< Msg * > >.
Referenced by resip::GeneralCongestionManager::encodeFifoStats().
| virtual time_t resip::FifoStatsInterface::expectedWaitTimeMilliSec | ( | ) | const [pure virtual] |
Returns the expected time it will take to service all messages currently in the queue (in milli-seconds)
Implemented in resip::AbstractFifo< T >, resip::AbstractFifo< Command * >, resip::AbstractFifo< T * >, resip::AbstractFifo< Timestamped< Foo * > >, resip::AbstractFifo< Msg * >, and resip::AbstractFifo< Timestamped< Msg * > >.
Referenced by resip::GeneralCongestionManager::encodeFifoStats(), and resip::GeneralCongestionManager::getCongestionPercent().
| virtual size_t resip::FifoStatsInterface::getCountDepth | ( | ) | const [pure virtual] |
Returns the number of elements in the FIFO.
Implemented in resip::AbstractFifo< T >, resip::AbstractFifo< Command * >, resip::AbstractFifo< T * >, resip::AbstractFifo< Timestamped< Foo * > >, resip::AbstractFifo< Msg * >, resip::AbstractFifo< Timestamped< Msg * > >, resip::TimeLimitFifo< Msg >, and resip::TimeLimitFifo< Foo >.
Referenced by resip::GeneralCongestionManager::encodeFifoStats(), and resip::GeneralCongestionManager::getCongestionPercent().
| virtual const resip::Data& resip::FifoStatsInterface::getDescription | ( | ) | const [inline, virtual] |
Gets the description for this fifo.
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] |
Returns the difference in time between the youngest and oldest item in the FIFO in seconds.
Implemented in resip::AbstractFifo< T >, resip::AbstractFifo< Command * >, resip::AbstractFifo< T * >, resip::AbstractFifo< Timestamped< Foo * > >, resip::AbstractFifo< Msg * >, resip::AbstractFifo< Timestamped< Msg * > >, resip::TimeLimitFifo< Msg >, and resip::TimeLimitFifo< Foo >.
Referenced by resip::GeneralCongestionManager::encodeFifoStats(), and resip::GeneralCongestionManager::getCongestionPercent().
| 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.
| description | The 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.
Definition at line 76 of file AbstractFifo.hxx.
References mRole.
Referenced by resip::GeneralCongestionManager::registerFifo().
{mRole=role;}
Data resip::FifoStatsInterface::mDescription [protected] |
Definition at line 96 of file AbstractFifo.hxx.
Referenced by getDescription(), and setDescription().
UInt8 resip::FifoStatsInterface::mRole [protected] |
Definition at line 97 of file AbstractFifo.hxx.
1.7.5.1