|
reSIProcate
SIP stack, Dialog Usage Manager and related libraries
|
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_t | getRole () const |
| void | setRole (uint8_t 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_t | 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.
|
virtual |
Definition at line 11 of file AbstractFifo.cxx.
|
pure virtual |
Returns the average time it takes for individual messages to be serviced (in micro-seconds)
Implemented in resip::ValueFifo< T >, resip::AbstractFifo< T >, resip::AbstractFifo< Msg * >, resip::AbstractFifo< repro::ResponseInfo * >, resip::AbstractFifo< resip::DnsStub::Command * >, resip::AbstractFifo< resip::DtlsMessage * >, resip::AbstractFifo< resip::SendData * >, resip::AbstractFifo< resip::TimerMessage * >, resip::AbstractFifo< resip::TransactionMessage * >, resip::AbstractFifo< resip::TransactionUserMessage * >, resip::AbstractFifo< resip::Transport * >, resip::AbstractFifo< T * >, resip::AbstractFifo< Timestamped< FifoEvent * > >, resip::AbstractFifo< Timestamped< Msg * > >, resip::AbstractFifo< Timestamped< proton::message * > >, resip::AbstractFifo< Timestamped< ReceivedData * > >, resip::AbstractFifo< Timestamped< resip::ApplicationMessage * > >, resip::AbstractFifo< Timestamped< resip::Data * > >, and resip::AbstractFifo< Timestamped< resip::Message * > >.
|
pure virtual |
Returns the expected time it will take to service all messages currently in the queue (in milli-seconds)
Implemented in resip::ValueFifo< T >, resip::AbstractFifo< T >, resip::AbstractFifo< Msg * >, resip::AbstractFifo< repro::ResponseInfo * >, resip::AbstractFifo< resip::DnsStub::Command * >, resip::AbstractFifo< resip::DtlsMessage * >, resip::AbstractFifo< resip::SendData * >, resip::AbstractFifo< resip::TimerMessage * >, resip::AbstractFifo< resip::TransactionMessage * >, resip::AbstractFifo< resip::TransactionUserMessage * >, resip::AbstractFifo< resip::Transport * >, resip::AbstractFifo< T * >, resip::AbstractFifo< Timestamped< FifoEvent * > >, resip::AbstractFifo< Timestamped< Msg * > >, resip::AbstractFifo< Timestamped< proton::message * > >, resip::AbstractFifo< Timestamped< ReceivedData * > >, resip::AbstractFifo< Timestamped< resip::ApplicationMessage * > >, resip::AbstractFifo< Timestamped< resip::Data * > >, and resip::AbstractFifo< Timestamped< resip::Message * > >.
|
pure virtual |
Returns the number of elements in the FIFO.
Implemented in resip::ValueFifo< T >, resip::AbstractFifo< T >, resip::AbstractFifo< Msg * >, resip::AbstractFifo< repro::ResponseInfo * >, resip::AbstractFifo< resip::DnsStub::Command * >, resip::AbstractFifo< resip::DtlsMessage * >, resip::AbstractFifo< resip::SendData * >, resip::AbstractFifo< resip::TimerMessage * >, resip::AbstractFifo< resip::TransactionMessage * >, resip::AbstractFifo< resip::TransactionUserMessage * >, resip::AbstractFifo< resip::Transport * >, resip::AbstractFifo< T * >, resip::AbstractFifo< Timestamped< FifoEvent * > >, resip::AbstractFifo< Timestamped< Msg * > >, resip::AbstractFifo< Timestamped< proton::message * > >, resip::AbstractFifo< Timestamped< ReceivedData * > >, resip::AbstractFifo< Timestamped< resip::ApplicationMessage * > >, resip::AbstractFifo< Timestamped< resip::Data * > >, resip::AbstractFifo< Timestamped< resip::Message * > >, resip::TimeLimitFifo< Msg >, resip::TimeLimitFifo< FifoEvent >, resip::TimeLimitFifo< proton::message >, resip::TimeLimitFifo< ReceivedData >, resip::TimeLimitFifo< resip::ApplicationMessage >, resip::TimeLimitFifo< resip::Data >, and resip::TimeLimitFifo< resip::Message >.
|
inlinevirtual |
Gets the description for this fifo.
Definition at line 93 of file AbstractFifo.hxx.
|
inline |
Definition at line 69 of file AbstractFifo.hxx.
|
pure virtual |
Returns the difference in time between the youngest and oldest item in the FIFO in seconds.
Implemented in resip::ValueFifo< T >, resip::AbstractFifo< T >, resip::AbstractFifo< Msg * >, resip::AbstractFifo< repro::ResponseInfo * >, resip::AbstractFifo< resip::DnsStub::Command * >, resip::AbstractFifo< resip::DtlsMessage * >, resip::AbstractFifo< resip::SendData * >, resip::AbstractFifo< resip::TimerMessage * >, resip::AbstractFifo< resip::TransactionMessage * >, resip::AbstractFifo< resip::TransactionUserMessage * >, resip::AbstractFifo< resip::Transport * >, resip::AbstractFifo< T * >, resip::AbstractFifo< Timestamped< FifoEvent * > >, resip::AbstractFifo< Timestamped< Msg * > >, resip::AbstractFifo< Timestamped< proton::message * > >, resip::AbstractFifo< Timestamped< ReceivedData * > >, resip::AbstractFifo< Timestamped< resip::ApplicationMessage * > >, resip::AbstractFifo< Timestamped< resip::Data * > >, resip::AbstractFifo< Timestamped< resip::Message * > >, resip::TimeLimitFifo< Msg >, resip::TimeLimitFifo< FifoEvent >, resip::TimeLimitFifo< proton::message >, resip::TimeLimitFifo< ReceivedData >, resip::TimeLimitFifo< resip::ApplicationMessage >, resip::TimeLimitFifo< resip::Data >, and resip::TimeLimitFifo< resip::Message >.
|
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.
|
inline |
Definition at line 76 of file AbstractFifo.hxx.
|
protected |
Definition at line 96 of file AbstractFifo.hxx.
|
protected |
Definition at line 97 of file AbstractFifo.hxx.