![]() |
PIP 5.6.1
Platform-Independent Primitives
|
Диагностика соединения для частоты пакетов, пропускной способности и качества приема Подробнее...
#include <pidiagnostics.h>
Классы | |
| struct | State |
| Снимок текущих счетчиков и производных статистик. Подробнее... | |
Открытые типы | |
| enum | Quality |
| Качество приема, оцениваемое по недавней истории пакетов. | |
Открытые члены | |
| PIDiagnostics (bool start_=true) | |
| Создает диагностику и при необходимости сразу запускает периодическую оценку. | |
| virtual | ~PIDiagnostics () |
| Останавливает обновление диагностики. | |
| PIDiagnostics::State | state () const |
| Возвращает потокобезопасный снимок текущего состояния диагностики. | |
| PISystemTime | disconnectTimeout () const |
| Возвращает таймаут отключения и окно усреднения. | |
| void | setDisconnectTimeout (float s) DEPRECATEDM("use setDisconnectTimeout(PISystemTime)") |
| Устанавливает таймаут отключения в секундах. | |
| void | setDisconnectTimeout (PISystemTime tm) |
| Устанавливает таймаут отключения и окно усреднения. | |
| PIDiagnostics::Quality | quality () const |
| Возвращает текущее качество приема. | |
| PIString | receiveSpeed () const |
| Возвращает строку отформатированной скорости приема. | |
| PIString | sendSpeed () const |
| Возвращает строку отформатированной скорости отправки. | |
Открытые члены унаследованные от PITimer | |
| PITimer () | |
| Создает таймер без обратного вызова тика. | |
| PITimer (std::function< void(int)> func) | |
| Создает таймер с обратным вызовом, принимающим значение делителя. | |
| PITimer (std::function< void()> func) | |
| Создает таймер с обратным вызовом, игнорирующим значение делителя. | |
| virtual | ~PITimer () |
| Уничтожает таймер и останавливает его внутренний рабочий поток. | |
| PISystemTime | interval () const |
| Возвращает настроенный базовый интервал между основными тиками. | |
| void | setInterval (PISystemTime interval) |
| Устанавливает базовый интервал. Если таймер запущен, перезапускает его с новым значением. | |
| bool | isRunning () const |
| Возвращает, работает ли сейчас поток таймера. | |
| bool | isStopping () const |
| Возвращает, был ли запрошен останов и идет ли еще завершение. | |
| bool | waitForFinish (PISystemTime timeout={}) |
| Ожидает завершения таймера. Возвращает false, если таймаут истек раньше. | |
| bool | start (PISystemTime interval) |
| Устанавливает базовый интервал и запускает таймер. | |
| bool | start (PISystemTime interval, std::function< void()> func) |
| Устанавливает базовый интервал и обратный вызов тика, затем запускает таймер. | |
| bool | start (double interval_ms) DEPRECATEDM("use start(PISystemTime)") |
| Устаревшая перегрузка start(), принимающая миллисекунды. | |
| void | stopAndWait (int timeout_ms) |
| Устаревшая перегрузка stopAndWait(), принимающая миллисекунды. | |
| void | stopAndWait (PISystemTime timeout={}) |
| Запрашивает остановку и ожидает завершения рабочего потока. | |
| void | setSlot (std::function< void()> func) |
| Устанавливает обратный вызов тика, игнорирующий значение делителя. | |
| void | setSlot (std::function< void(int)> func) |
| Устанавливает обратный вызов тика, принимающий текущее значение делителя. | |
| void | needLockRun (bool need) |
| Включает блокировку внутреннего мьютекса вокруг обработки тиков. | |
| bool | isCallQueuedEvents () const |
| Возвращает, должен ли таймер обрабатывать отложенную доставку для себя как исполнителя на каждом основном тике. По умолчанию true. | |
| void | setCallQueuedEvents (bool yes) |
| Включает или отключает обработку отложенной доставки через maybeCallQueuedEvents() на каждом основном тике. | |
| void | addDelimiter (int delim, std::function< void(int)> func=nullptr) |
| Добавляет делитель частоты, который вызывает func каждые delim основных тиков. | |
| void | addDelimiter (int delim, std::function< void()> func) |
| Добавляет делитель с обратным вызовом, игнорирующим значение делителя. | |
| void | addDelimiter (int delim, std::function< void(void *)> slot) |
| Добавляет делитель с сигнатурой обратного вызова, принимающей указатель. | |
| void | removeDelimiter (int delim) |
| Удаляет все делители со значением delim. | |
| bool | start () |
| Запускает таймер с текущим значением interval(). | |
| bool | restart () |
| Останавливает таймер, затем снова запускает его с текущим значением interval(). | |
| void | stop () |
| Запрашивает остановку и пробуждает поток таймера, но не ожидает завершения. | |
| void | lock () |
| Блокирует внутренний мьютекс таймера. | |
| void | unlock () |
| Разблокирует внутренний мьютекс таймера. | |
| void | clearDelimiters () |
| Удаляет все делители частоты | |
| void | tickEvent (int delimiter) |
| Вызывается на каждом тике таймера и на настроенных тиках делителей. Подробнее... | |
Открытые члены унаследованные от PIObject | |
| PIObject (const PIString &name=PIString()) | |
Создает объект и инициализирует его свойство name. | |
| virtual | ~PIObject () |
| Уничтожает объект, вызывает deleted() и отключает его от событийного графа. | |
| PIString | name () const |
Возвращает свойство name этого объекта. | |
| virtual const char * | className () const |
| Возвращает зарегистрированное имя класса этого объекта. | |
| virtual uint | classNameID () const |
| Возвращает хэш от className(). | |
| virtual const char * | parentClassName () const |
| Возвращает зарегистрированное имя родительского класса, либо пустую строку для корня. | |
| bool | debug () const |
| Возвращает, включен ли вывод piCoutObj для этого объекта. | |
| void | setName (const PIString &name) |
Устанавливает свойство 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". | |
| void | setThreadSafe (bool yes) |
| Включает или отключает внутренний мьютекс объекта во время выполнения обработчиков. Подробнее... | |
| bool | isThreadSafe () const |
| Возвращает, включен ли внутренний мьютекс объекта для выполнения обработчиков. | |
| bool | execute (const PIString &method, const PIVector< PIVariantSimple > &vl) |
| Выполняет зарегистрированный метод или метод-обработчик по имени с переданными аргументами. Подробнее... | |
| bool | execute (const PIString &method) |
| Перегрузка execute() для метода без аргументов. | |
| bool | execute (const PIString &method, const PIVariantSimple &v0) |
| Перегрузка execute() для одного аргумента. | |
| bool | execute (const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1) |
| Перегрузка execute() для двух аргументов. | |
| bool | execute (const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1, const PIVariantSimple &v2) |
| Перегрузка execute() для трёх аргументов. | |
| bool | execute (const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1, const PIVariantSimple &v2, const PIVariantSimple &v3) |
| Перегрузка execute() для четырёх аргументов. | |
| bool | executeQueued (PIObject *performer, const PIString &method, const PIVector< PIVariantSimple > &vl) |
| Ставит выполнение зарегистрированного метода в очередь объекта-исполнителя. Подробнее... | |
| bool | executeQueued (PIObject *performer, const PIString &method) |
| Перегрузка executeQueued() для метода без аргументов. | |
| bool | executeQueued (PIObject *performer, const PIString &method, const PIVariantSimple &v0) |
| Перегрузка executeQueued() для одного аргумента. | |
| bool | executeQueued (PIObject *performer, const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1) |
| Перегрузка executeQueued() для двух аргументов. | |
| bool | executeQueued (PIObject *performer, const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1, const PIVariantSimple &v2) |
| Перегрузка executeQueued() для трёх аргументов. | |
| bool | executeQueued (PIObject *performer, const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1, const PIVariantSimple &v2, const PIVariantSimple &v3) |
| Перегрузка executeQueued() для четырёх аргументов. | |
| void | dump (const PIString &line_prefix=PIString()) const |
| Выводит диагностическую информацию об объекте в проектный поток вывода. | |
| PIStringList | scopeList () const |
| Возвращает зарегистрированную цепочку наследования объекта, включая его собственный класс. | |
| PIStringList | methodsEH () const |
| Возвращает полные сигнатуры всех зарегистрированных событий и обработчиков для области этого класса. | |
| bool | isMethodEHContains (const PIString &name) const |
| Возвращает, существует ли зарегистрированное событие или обработчик с таким именем. | |
| PIString | methodEHArguments (const PIString &name) const |
| Возвращает список типов аргументов зарегистрированного метода через запятую. | |
| PIString | methodEHFullFormat (const PIString &name) const |
| Возвращает полную зарегистрированную сигнатуру метода. | |
| PIString | methodEHFromAddr (const void *addr) const |
| Возвращает имя зарегистрированного метода для указанного адреса точки входа. | |
| void | piDisconnect (const PIString &sig, PIObject *dest, void *ev_h) |
| Разрывает соединения этого объекта-источника с конкретным обработчиком объекта-приемника для события "sig". | |
| 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 |
| Возвращает, принадлежит ли этот объект классу "T" или одному из его зарегистрированных потомков. | |
| template<typename T > | |
| T * | cast () const |
Возвращает этот объект, приведённый к типу "T", если isTypeOf<T>() успешно, иначе nullptr. | |
| void | callQueuedEvents () |
| Выполняет все отложенные доставки, поставленные в очередь этому объекту-исполнителю. | |
| bool | maybeCallQueuedEvents () |
| Выполняет отложенные доставки только если этот объект использовался как исполнитель. Подробнее... | |
| void | deleteLater () |
| Планирует отложенное удаление объекта. Подробнее... | |
| void | deleted (PIObject *o) |
| Вызывается непосредственно перед уничтожением объекта. Подробнее... | |
Handlers | |
| void | start () |
| Запускает периодическую оценку диагностики с интервалом по умолчанию. | |
| void | start (PISystemTime interval) |
| Запускает периодическую оценку диагностики с интервалом "interval". | |
| void | reset () |
| Сбрасывает счетчики, скользящую историю и производные статистики. | |
| void | received (int size) |
| void | received (int size, bool correct) |
| Уведомляет диагностику об одном принятом пакете размером "size". | |
| void | sended (int size) |
| Уведомляет диагностику об одном отправленном пакете размером "size". | |
Events | |
| void | qualityChanged (PIDiagnostics::Quality new_quality, PIDiagnostics::Quality old_quality) |
| Генерируется при изменении качества приема с "old_quality" на "new_quality". | |
Дополнительные унаследованные члены | |
Открытые статические члены унаследованные от PIObject | |
| static bool | execute (PIObject *o, const PIString &method, const PIVector< PIVariantSimple > &vl) |
| Статическая удобная обёртка над execute(). | |
| static bool | execute (PIObject *o, const PIString &method) |
| Статическая перегрузка execute() без аргументов. | |
| static bool | execute (PIObject *o, const PIString &method, const PIVariantSimple &v0) |
| Статическая перегрузка execute() для одного аргумента. | |
| static bool | execute (PIObject *o, const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1) |
| Статическая перегрузка execute() для двух аргументов. | |
| static bool | execute (PIObject *o, const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1, const PIVariantSimple &v2) |
| Статическая перегрузка execute() для трёх аргументов. | |
| static bool | execute (PIObject *o, const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1, const PIVariantSimple &v2, const PIVariantSimple &v3) |
| Статическая перегрузка execute() для четырёх аргументов. | |
| static bool | executeQueued (PIObject *o, PIObject *performer, const PIString &method, const PIVector< PIVariantSimple > &vl) |
| Статическая удобная обёртка над executeQueued(). | |
| static bool | executeQueued (PIObject *o, PIObject *performer, const PIString &method) |
| Статическая перегрузка executeQueued() без аргументов. | |
| static bool | executeQueued (PIObject *o, PIObject *performer, const PIString &method, const PIVariantSimple &v0) |
| Статическая перегрузка executeQueued() для одного аргумента. | |
| static bool | executeQueued (PIObject *o, PIObject *performer, const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1) |
| Статическая перегрузка executeQueued() для двух аргументов. | |
| static bool | executeQueued (PIObject *o, PIObject *performer, const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1, const PIVariantSimple &v2) |
| Статическая перегрузка executeQueued() для трёх аргументов. | |
| static bool | executeQueued (PIObject *o, PIObject *performer, const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1, const PIVariantSimple &v2, const PIVariantSimple &v3) |
| Статическая перегрузка executeQueued() для четырёх аргументов. | |
| static PIObject::Connection | piConnect (PIObject *src, const PIString &sig, PIObject *dest_o, void *dest, void *ev_h, void *e_h, int args, const char *loc) |
Низкоуровневый помощник прямого соединения, лежащий под устаревшими макросами CONNECT*. | |
| static PIObject::Connection | piConnectU (PIObject *src, const PIString &sig, PIObject *dest_o, void *dest, const PIString &hname, const char *loc, PIObject *performer=0) |
| Низкоуровневый помощник соединения по имени, лежащий под CONNECTU() и CONNECTU_QUEUED(). | |
| static PIObject::Connection | piConnectLS (PIObject *src, const PIString &sig, std::function< void()> *f, const char *loc) |
| Низкоуровневый помощник, который соединяет событие с лямбдой или обёрткой функтора. | |
| static void | piDisconnect (PIObject *src, const PIString &sig, PIObject *dest, void *ev_h) |
| Разрывает соединения объекта-источника "src" с конкретным обработчиком объекта-приемника для события "sig". | |
| static void | piDisconnect (PIObject *src, const PIString &sig, PIObject *dest) |
| Разрывает все соединения объекта-источника "src" от события "sig" к объекту-приемнику "dest". | |
| static void | piDisconnect (PIObject *src, const PIString &sig) |
| Разрывает все соединения объекта-источника "src" от события "sig". | |
| static void | raiseEvent (PIObject *sender, const uint eventID) |
| Внутренний помощник доставки для зарегистрированных событий без аргументов. | |
| template<typename T0 > | |
| static void | raiseEvent (PIObject *sender, const uint eventID, const T0 &v0=T0()) |
| Внутренний помощник доставки для зарегистрированных событий с одним аргументом. | |
| template<typename T0 , typename T1 > | |
| static void | raiseEvent (PIObject *sender, const uint eventID, const T0 &v0=T0(), const T1 &v1=T1()) |
| Внутренний помощник доставки для зарегистрированных событий с двумя аргументами. | |
| template<typename T0 , typename T1 , typename T2 > | |
| static void | raiseEvent (PIObject *sender, const uint eventID, const T0 &v0=T0(), const T1 &v1=T1(), const T2 &v2=T2()) |
| Внутренний помощник доставки для зарегистрированных событий с тремя аргументами. | |
| template<typename T0 , typename T1 , typename T2 , typename T3 > | |
| static void | raiseEvent (PIObject *sender, const uint eventID, const T0 &v0=T0(), const T1 &v1=T1(), const T2 &v2=T2(), const T3 &v3=T3()) |
| Внутренний помощник доставки для зарегистрированных событий с четырьмя аргументами. | |
| static PIObject * | findByName (const PIString &name) |
Возвращает первый живой объект с именем "name", либо nullptr. | |
| static bool | isPIObject (const PIObject *o) |
| Возвращает, указывает ли "o" на ещё существующий экземпляр PIObject. | |
| static bool | isPIObject (const void *o) |
| Перегрузка isPIObject() для нетипизированного указателя. | |
| template<typename T > | |
| static bool | isTypeOf (const PIObject *o) |
| Возвращает, принадлежит ли "o" классу "T" или одному из его зарегистрированных потомков. | |
| template<typename T > | |
| static bool | isTypeOf (const void *o) |
| Перегрузка isTypeOf() для нетипизированного указателя. | |
| static PIString | simplifyType (const char *a, bool readable=true) |
| Упрощает запись типа C++ для метаданных зарегистрированных методов. | |
| virtual void | tick (int delimiter) |
| Виртуальный метод тика. Основной цикл передает делитель 1, дополнительные делители передают свое значение. | |
Защищенные члены унаследованные от PIObject | |
| PIObject * | emitter () const |
| Возвращает объект-источник, который вызвал текущее событие. Подробнее... | |
| virtual void | propertyChanged (const char *name) |
| Виртуальный метод, вызываемый после изменения свойства "name" через setProperty(). | |
Относящиеся к классу функции унаследованные от PIObject | |
| #define | piCoutObj |
| Макрос для условного (piDebug && PIObject::debug()) вывода в PICout(StdOut) для наследников PIObject. | |
| #define | piCerrObj |
| Макрос для условного (piDebug && PIObject::debug()) вывода в PICout(StdErr) для наследников PIObject. | |
| #define | PIOBJECT(name) |
| Поместите этот макрос внутрь объявления прямого наследника PIObject, чтобы включить регистрацию событий, обработчиков и метаданных класса. | |
| #define | PIOBJECT_SUBCLASS(name, parent) |
| Поместите этот макрос внутрь объявления наследника PIObject, чтобы унаследовать зарегистрированные методы и цепочку классов от "parent". | |
| #define | EVENT_HANDLER0(ret, name) ret name() |
Объявляет зарегистрированный метод-обработчик событий с сигнатурой ret name(). | |
| #define | EVENT_HANDLER1(ret, name, type0, var0) ret name(type0 var0) |
| Объявляет зарегистрированный метод-обработчик событий с одним аргументом. | |
| #define | EVENT_HANDLER2(ret, name, type0, var0, type1, var1) ret name(type0 var0, type1 var1) |
| Объявляет зарегистрированный метод-обработчик событий с двумя аргументами. | |
| #define | EVENT_HANDLER3(ret, name, type0, var0, type1, var1, type2, var2) ret name(type0 var0, type1 var1, type2 var2) |
| Объявляет зарегистрированный метод-обработчик событий с тремя аргументами. | |
| #define | EVENT_HANDLER4(ret, name, type0, var0, type1, var1, type2, var2, type3, var3) ret name(type0 var0, type1 var1, type2 var2, type3 var3) |
| Объявляет зарегистрированный метод-обработчик событий с четырьмя аргументами. | |
| #define | EVENT_HANDLER EVENT_HANDLER0 |
| Аналог EVENT_HANDLER0. | |
| #define | EVENT_VHANDLER0(ret, name) virtual ret name() |
Объявляет виртуальный зарегистрированный метод-обработчик с сигнатурой virtual ret name(). | |
| #define | EVENT_VHANDLER1(ret, name, type0, var0) virtual ret name(type0 var0) |
| Объявляет виртуальный зарегистрированный метод-обработчик с одним аргументом. | |
| #define | EVENT_VHANDLER2(ret, name, type0, var0, type1, var1) virtual ret name(type0 var0, type1 var1) |
| Объявляет виртуальный зарегистрированный метод-обработчик с двумя аргументами. | |
| #define | EVENT_VHANDLER3(ret, name, type0, var0, type1, var1, type2, var2) virtual ret name(type0 var0, type1 var1, type2 var2) |
| Объявляет виртуальный зарегистрированный метод-обработчик с тремя аргументами. | |
| #define | EVENT_VHANDLER4(ret, name, type0, var0, type1, var1, type2, var2, type3, var3) virtual ret name(type0 var0, type1 var1, type2 var2, type3 var3) |
| Объявляет виртуальный зарегистрированный метод-обработчик с четырьмя аргументами. | |
| #define | EVENT_VHANDLER EVENT_VHANDLER0 |
| Аналог EVENT_VHANDLER0. | |
| #define | EVENT0(name) void name(); |
| Объявляет метод-событие без аргументов. | |
| #define | EVENT1(name, type0, var0) void name(type0 var0); |
| Объявляет метод-событие с одним аргументом. | |
| #define | EVENT2(name, type0, var0, type1, var1) void name(type0 var0, type1 var1); |
| Объявляет метод-событие с двумя аргументами. | |
| #define | EVENT3(name, type0, var0, type1, var1, type2, var2) void name(type0 var0, type1 var1, type2 var2); |
| Объявляет метод-событие с тремя аргументами. | |
| #define | EVENT4(name, type0, var0, type1, var1, type2, var2, type3, var3) void name(type0 var0, type1 var1, type2 var2, type3 var3); |
| Объявляет метод-событие с четырьмя аргументами. | |
| #define | EVENT EVENT0 |
| Аналог EVENT0. | |
| #define | RAISE_EVENT0(src, event) |
| Совместимый вспомогательный макрос, вызывающий событие "event" у объекта-источника "src". | |
| #define | RAISE_EVENT1(src, event, v0) |
| Совместимый вспомогательный макрос, вызывающий событие "event" с одним аргументом. | |
| #define | RAISE_EVENT2(src, event, v0, v1) |
| Совместимый вспомогательный макрос, вызывающий событие "event" с двумя аргументами. | |
| #define | RAISE_EVENT3(src, event, v0, v1, v2) |
| Совместимый вспомогательный макрос, вызывающий событие "event" с тремя аргументами. | |
| #define | RAISE_EVENT4(src, event, v0, v1, v2, v3) |
| Совместимый вспомогательный макрос, вызывающий событие "event" с четырьмя аргументами. | |
| #define | CONNECTU(src, event, dest, handler) |
| Соединяет событие "event" объекта "src" к обработчику или событию "handler" объекта "dest". Подробнее... | |
| #define | CONNECTU_QUEUED(src, event, dest, handler, performer) |
| Соединяет событие "event" объекта "src" к обработчику или событию "handler" объекта "dest". Подробнее... | |
| #define | CONNECTL(src, event, functor) |
| Соединяет событие "event" объекта "src" к лямбда-функции "functor". Подробнее... | |
| #define | CONNECT0(ret, src, event, dest, handler) |
| Устаревший совместимый макрос, который соединяет событие с зарегистрированным обработчиком через явное указание сигнатуры. Подробнее... | |
| #define | CONNECT1(ret, type0, src, event, dest, handler) |
| Устаревший совместимый макрос для зарегистрированного события или обработчика с одним аргументом. Подробнее... | |
| #define | CONNECT2(ret, type0, type1, src, event, dest, handler) |
| Устаревший совместимый макрос для зарегистрированного события или обработчика с двумя аргументами. Подробнее... | |
| #define | CONNECT3(ret, type0, type1, type2, src, event, dest, handler) |
| Устаревший совместимый макрос для зарегистрированного события или обработчика с тремя аргументами. Подробнее... | |
| #define | CONNECT4(ret, type0, type1, type2, type3, src, event, dest, handler) |
| Устаревший совместимый макрос для зарегистрированного события или обработчика с четырьмя аргументами. Подробнее... | |
| #define | CONNECT CONNECT0 |
| Аналог CONNECT0. Подробнее... | |
| #define | WEAK_CONNECT0(ret, src, event, dest, handler) |
| Устаревший совместимый макрос, который пропускает проверку исходного метода. Подробнее... | |
| #define | WEAK_CONNECT1(ret, type0, src, event, dest, handler) |
| Устаревший совместимый макрос, который пропускает проверку исходного метода для случая с одним аргументом. Подробнее... | |
| #define | WEAK_CONNECT2(ret, type0, type1, src, event, dest, handler) |
| Устаревший совместимый макрос, который пропускает проверку исходного метода для случая с двумя аргументами. Подробнее... | |
| #define | WEAK_CONNECT3(ret, type0, type1, type2, src, event, dest, handler) |
| Устаревший совместимый макрос, который пропускает проверку исходного метода для случая с тремя аргументами. Подробнее... | |
| #define | WEAK_CONNECT4(ret, type0, type1, type2, type3, src, event, dest, handler) |
| Устаревший совместимый макрос, который пропускает проверку исходного метода для случая с четырьмя аргументами. Подробнее... | |
| #define | WEAK_CONNECT WEAK_CONNECT0 |
| Аналог WEAK_CONNECT0. Подробнее... | |
| #define | DISCONNECT0(ret, src, event, dest, handler) |
| Разрывает соединение зарегистрированного события с зарегистрированным обработчиком. | |
| #define | DISCONNECT1(ret, type0, src, event, dest, handler) |
| Разрывает соединение зарегистрированного события с одним аргументом и зарегистрированного обработчика. | |
| #define | DISCONNECT2(ret, type0, type1, src, event, dest, handler) |
| Разрывает соединение зарегистрированного события с двумя аргументами и зарегистрированного обработчика. | |
| #define | DISCONNECT3(ret, type0, type1, type2, src, event, dest, handler) |
| Разрывает соединение зарегистрированного события с тремя аргументами и зарегистрированного обработчика. | |
| #define | DISCONNECT4(ret, type0, type1, type2, type3, src, event, dest, handler) |
| Разрывает соединение зарегистрированного события с четырьмя аргументами и зарегистрированного обработчика. | |
| #define | DISCONNECT DISCONNECT0 |
| Аналог DISCONNECT0. | |
| #define | HANDLER(handler) |
| Низкоуровневый вспомогательный макрос, который разворачивается в точку входа зарегистрированного обработчика. | |
Диагностика соединения для частоты пакетов, пропускной способности и качества приема
Connection quality diagnostics.
Класс обеспечивает диагностику качества связи на основе статистики приема пакетов
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.