PIP 5.5.3
Platform-Independent Primitives
Классы | Открытые типы | Открытые члены | Полный список членов класса
Класс PIDiagnostics

Connection quality diagnostics. Подробнее...

Граф наследования:PIDiagnostics:
Inheritance graph
[см. легенду]

Классы

struct  State
 Information about current diagnostics state. Подробнее...
 

Открытые типы

enum  Quality {
  Unknown = 1 , Failure = 2 , Bad = 3 , Average = 4 ,
  Good = 5
}
 Connection quality. Подробнее...
 

Открытые члены

 PIDiagnostics (bool start_=true)
 Constructs an empty diagnostics and if "start_" start it.
 
PIDiagnostics::State state () const
 Returns current state.
 
PISystemTime disconnectTimeout () const
 Returns period of full disconnect in seconds and period of averaging frequency.
 
void setDisconnectTimeout (float s) DEPRECATEDM("use setDisconnectTimeout(PISystemTime)")
 Returns period of full disconnect in seconds and period of averaging frequency.
 
void setDisconnectTimeout (PISystemTime tm)
 Returns period of full disconnect and period of averaging frequency.
 
PIDiagnostics::Quality quality () const
 Returns connection quality.
 
PIString receiveSpeed () const
 Returns receive speed in format "n {B|kB|MB|GB|TB}/s".
 
PIString sendSpeed () const
 Returns send speed in format "n {B|kB|MB|GB|TB}/s".
 
- Открытые члены унаследованные от PITimer
 PITimer ()
 Создает таймер
 
 PITimer (std::function< void(int)> func)
 Создает таймер с функцией void(int)
 
 PITimer (std::function< void()> func)
 Создает таймер с функцией void()
 
PISystemTime interval () const
 Возвращает задержку цикла таймера
 
void setInterval (PISystemTime interval)
 Установить интервал таймера
 
bool isRunning () const
 Возвращает работает ли таймер
 
bool isStopping () const
 Возвращает останавливается ли таймер
 
bool waitForFinish (PISystemTime timeout={})
 Ожидает остановки таймера
 
bool start (PISystemTime interval)
 Запустить таймер с интервалом "interval".
 
bool start (PISystemTime interval, std::function< void()> func)
 Запустить таймер с интервалом "interval" и вызываевымым методом "func".
 
void stopAndWait (int timeout_ms)
 Останавливает таймер и ожидает завершения.
 
void stopAndWait (PISystemTime timeout={})
 Останавливает таймер и ожидает завершения.
 
void setSlot (std::function< void()> func)
 Установить вызываемый метод
 
void setSlot (std::function< void(int)> func)
 Установить вызываемый метод
 
bool isCallQueuedEvents () const
 Возвращает должен ли таймер вызывать maybeCallQueuedEvents() каждый тик. По умолчанию true.
 
void setCallQueuedEvents (bool yes)
 Установает должен ли таймер вызывать maybeCallQueuedEvents() каждый тик
 
void addDelimiter (int delim, std::function< void(int)> func=nullptr)
 Добавляет делитель частоты "delim" с необязательным методом "slot".
 
void addDelimiter (int delim, std::function< void()> func)
 Добавляет делитель частоты "delim" с необязательным методом "slot".
 
void addDelimiter (int delim, std::function< void(void *)> slot)
 Добавляет делитель частоты "delim" с необязательным методом "slot".
 
void removeDelimiter (int delim)
 Удаляет все делители частоты "delim".
 
bool start ()
 Запустить таймер с интервалом interval()
 
bool restart ()
 Остановить и запустить таймер с интервалом interval()
 
void stop ()
 Остановить таймер (не дожидается остановки)
 
void clearDelimiters ()
 Удаляет все делители частоты
 
void tickEvent (int delimiter)
 Вызывается каждый тик таймера Подробнее...
 
- Открытые члены унаследованные от PIObject
 PIObject (const PIString &name=PIString())
 Создает PIObject с именем "name".
 
PIString name () const
 Возвращает имя объекта
 
virtual const char * className () const
 Возвращает имя класса объекта
 
virtual const char * parentClassName () const
 Возвращает имя родительского класса
 
bool debug () const
 Возвращает включен ли вывод piCoutObj для этого объекта
 
void setName (const PIString &name)
 Устанавливает имя объекта
 
void setDebug (bool debug)
 Включает или отключает вывод piCoutObj для этого объекта
 
PIVariant property (const char *name) const
 Возвращает свойство объекта по имени "name".
 
void setProperty (const char *name, const PIVariant &value)
 Устанавливает у объекта свойство по имени "name" в "value". Если такого свойства нет, оно добавляется
 
bool isPropertyExists (const char *name) const
 Возвращает присутствует ли свойство по имени "name".
 
PIStringList scopeList () const
 Возвращает цепочку наследования объекта (вместе с классом самого объекта)
 
void piDisconnect (const PIString &sig, PIObject *dest, void *ev_h)
 Разрывает все соединения от события "sig" к объекту "dest" и обработчику "ev_h".
 
void piDisconnect (const PIString &sig, PIObject *dest)
 Разрывает все соединения от события "sig" к объекту "dest".
 
void piDisconnect (const PIString &sig)
 Разрывает все соединения от события "sig".
 
bool isPIObject () const
 Возвращает действительный ли это PIObject (проверяет подпись)
 
template<typename T >
bool isTypeOf () const
 Возвращает действительный ли это наследник PIObject типа "T" (проверяет подпись и имя класса)
 
template<typename T >
T * cast () const
 Возвращает преобразование к типу T если это действительный наследник типа "T" (проверяет через isTypeOf()), или "nullptr".
 
void callQueuedEvents ()
 Выполнить все отложенные события от CONNECTU_QUEUED соединений
 
bool maybeCallQueuedEvents ()
 Если было хотя бы одно CONNECTU_QUEUED соединение с исполнителем this, то выполнить события Подробнее...
 
void deleteLater ()
 Пометить объект на удаление Подробнее...
 
void deleted (PIObject *o)
 Вызывается перед удалением объекта Подробнее...
 

Handlers

void reset ()
 Reset diagnostics counters.
 
void received (int size, bool correct)
 Notify diagnostics about "correct" corected received packet.
 
void sended (int size)
 Notify diagnostics about sended packet.
 

Events

void qualityChanged (PIDiagnostics::Quality new_quality, PIDiagnostics::Quality old_quality)
 Raise on change receive quality from "old_quality" to "new_quality".
 

Дополнительные унаследованные члены

- Открытые статические члены унаследованные от PIObject
static void piDisconnect (PIObject *src, const PIString &sig, PIObject *dest, void *ev_h)
 Разрывает все соединения от события "sig" объекта "src" к объекту "dest" и обработчику "ev_h".
 
static void piDisconnect (PIObject *src, const PIString &sig, PIObject *dest)
 Разрывает все соединения от события "sig" объекта "src" к объекту "dest".
 
static void piDisconnect (PIObject *src, const PIString &sig)
 Разрывает все соединения от события "sig" объекта "src".
 
static PIObjectfindByName (const PIString &name)
 Returns PIObject* with name "name" or 0, if there is no object found.
 
static bool isPIObject (const PIObject *o)
 Возвращает действительный ли "o" PIObject (проверяет подпись)
 
template<typename T >
static bool isTypeOf (const PIObject *o)
 Возвращает действительный ли "o" наследник PIObject типа "T" (проверяет подпись и имя класса)
 
virtual void tick (int delimiter)
 Timer execution function, similar to "slot" or event timeout(). By default does nothing.
 
- Защищенные члены унаследованные от PIObject
PIObjectemitter () const
 Возвращает PIObject* который вызвал это событие. Значение допустимо только из методов обработчиков событий
 
virtual void propertyChanged (const char *name)
 Виртуальная функция, вызывается после изменения любого свойства.
 

Подробное описание

Connection quality diagnostics.

Synopsis

This class provide abstract connection quality diagnostics and counting. You should create instance of PIDiagnostics and on packet receive call function received(), on packet send call function sended(). PIDiagnostics calculates correct, wrong and sended counters, packets per second, bytes per seconds, immediate and integral receive frequencies and receive/send speeds in human readable representation. There statistics are calculates one time per period, by default 1 second. To calculate them you should start PIDiagnostics with function start() or pass true to constructor.

Перечисления

◆ Quality

Connection quality.

Элементы перечислений
Unknown 

Unknown, no one packet received yet

Failure 

No connection, no one correct packet received for last period

Bad 

Bad connection, correct packets received <= 20%

Average 

Average connection, correct packets received > 20% and <= 80%

Good 

Good connection, correct packets received > 80%