|
UniSet
2.6.0
|
Открытые члены | |
| UniSetObject (const std::string &name, const std::string §ion) | |
| UniSetObject (uniset::ObjectId id) | |
| std::shared_ptr< UniSetObject > | get_ptr () |
| virtual CORBA::Boolean | exist () override |
| virtual uniset::ObjectId | getId () override |
| const uniset::ObjectId | getId () const |
| std::string | getName () const |
| virtual uniset::ObjectType | getType () override |
| const std::string | getStrType () |
| virtual uniset::SimpleInfo * | getInfo (const char *userparam="") override |
| virtual uniset::SimpleInfo * | apiRequest (const char *query) override |
| virtual void | push (const uniset::TransportMessage &msg) override |
| поместить сообщение в очередь | |
| virtual Poco::JSON::Object::Ptr | httpGet (const Poco::URI::QueryParameters &p) override |
| virtual Poco::JSON::Object::Ptr | httpHelp (const Poco::URI::QueryParameters &p) override |
| uniset::ObjectPtr | getRef () const |
| virtual timeout_t | askTimer (uniset::TimerId timerid, timeout_t timeMS, clock_t ticks=-1, uniset::Message::Priority p=uniset::Message::High) override |
Защищенные члены | |
| virtual void | processingMessage (const uniset::VoidMessage *msg) |
| virtual void | sysCommand (const uniset::SystemMessage *sm) |
| virtual void | sensorInfo (const uniset::SensorMessage *sm) |
| virtual void | timerInfo (const uniset::TimerMessage *tm) |
| VoidMessagePtr | receiveMessage () |
| virtual VoidMessagePtr | waitMessage (timeout_t msec=UniSetTimer::WaitUpTime) |
| void | termWaiting () |
| size_t | countMessages () |
| size_t | getCountOfLostMessages () const |
| virtual bool | activateObject () |
| Активизация объекта (переопределяется для необходимых действий после активизации) | |
| virtual bool | deactivateObject () |
| Деактивиция объекта (переопределяется для необходимых действий перед деактивацией) | |
| virtual void | sigterm (int signo) |
| void | terminate () |
| void | thread (bool create) |
| void | offThread () |
| void | onThread () |
| virtual void | callback () |
| void | setID (uniset::ObjectId id) |
| void | setThreadPriority (Poco::Thread::Priority p) |
| void | setMaxSizeOfMessageQueue (size_t s) |
| size_t | getMaxSizeOfMessageQueue () const |
| bool | isActive () const |
| void | setActive (bool set) |
| virtual Poco::JSON::Object::Ptr | httpGetMyInfo (Poco::JSON::Object::Ptr root) |
Защищенные данные | |
| std::shared_ptr< UInterface > | ui |
| std::string | myname |
| std::string | section |
| std::weak_ptr< UniSetManager > | mymngr |
Друзья | |
| class | UniSetManager |
| class | UniSetActivator |
| std::ostream & | operator<< (std::ostream &os, UniSetObject &obj) |
Класс реализует работу uniset-объекта: работа с очередью сообщений, регистрация объекта, инициализация и т.п. Обработка сообщений ведётся в специально создаваемом потоке. Для ожидания сообщений используется функция waitMessage(msec), основанная на таймере. Ожидание прерывается либо по истечении указанного времени, либо по приходу сообщения, при помощи функциии termWaiting() вызываемой из push().
Имеется три очереди сообщений, по приоритетам: Hi, Medium, Low. Соответственно сообщения вынимаются в порядке поступления, но сперва из Hi, потом из Medium, а потом из Low очереди.
| uniset::UniSetObject::UniSetObject | ( | const std::string & | name, |
| const std::string & | section | ||
| ) |
| bool uniset::UniSetObject::activateObject | ( | ) | [protected, virtual] |
Активизация объекта (переопределяется для необходимых действий после активизации)
Переопределяется в uniset::MBSlave, uniset::SharedMemory, uniset::IOControl, uniset::IONotifyController, uniset::MBExchange, TestProc_SK, TestProc_SK, uniset::IOController, UObject_SK, uniset::UNetExchange, LostTestProc_SK, TestProc_SK, uniset::UniSetManager, uniset::PassiveLProcessor, uniset::DBServer и uniset::ProxyManager.
| timeout_t uniset::UniSetObject::askTimer | ( | uniset::TimerId | timerid, |
| timeout_t | timeMS, | ||
| clock_t | ticks = -1, |
||
| uniset::Message::Priority | p = uniset::Message::High |
||
| ) | [override, virtual] |
заказ таймера (вынесена в public, хотя должна была бы быть в protected
Переопределяет метод предка uniset::LT_Object.
| void uniset::UniSetObject::callback | ( | ) | [protected, virtual] |
функция вызываемая из потока
Переопределяется в TestProc_SK, TestProc_SK, UObject_SK, LostTestProc_SK и TestProc_SK.
| size_t uniset::UniSetObject::countMessages | ( | ) | [protected] |
текущее количесво сообщений в очереди
| bool uniset::UniSetObject::deactivateObject | ( | ) | [protected, virtual] |
Деактивиция объекта (переопределяется для необходимых действий перед деактивацией)
Переопределяется в uniset::MBSlave, uniset::SharedMemory, uniset::MBTCPMultiMaster, uniset::MBTCPMaster, uniset::IOController, uniset::UNetExchange, uniset::MQTTPublisher, uniset::UniSetManager и uniset::ProxyManager.
| size_t uniset::UniSetObject::getCountOfLostMessages | ( | ) | const [protected] |
количество потерянных сообщений
| size_t uniset::UniSetObject::getMaxSizeOfMessageQueue | ( | ) | const [protected] |
получить размер очереди сообщений
| ObjectPtr uniset::UniSetObject::getRef | ( | ) | const |
получить ссылку (на себя)
| bool uniset::UniSetObject::isActive | ( | ) | const [protected] |
проверка "активности" объекта
| void uniset::UniSetObject::offThread | ( | ) | [protected] |
отключение потока обработки сообщений
| void uniset::UniSetObject::onThread | ( | ) | [protected] |
включение потока обработки сообщений
| void uniset::UniSetObject::processingMessage | ( | const uniset::VoidMessage * | msg | ) | [protected, virtual] |
обработка приходящих сообщений
Переопределяется в TestProc_SK, TestProc_SK, UObject_SK, LostTestProc_SK, TestProc_SK, uniset::DBServer и uniset::ProxyManager.
| void uniset::UniSetObject::push | ( | const uniset::TransportMessage & | msg | ) | [override, virtual] |
поместить сообщение в очередь
| VoidMessagePtr uniset::UniSetObject::receiveMessage | ( | ) | [protected] |
Получить сообщение
| vm | - указатель на структуру, которая заполняется если есть сообщение |
| void uniset::UniSetObject::setActive | ( | bool | set | ) | [protected] |
false - завершить работу потока обработки сообщений
| void uniset::UniSetObject::setID | ( | uniset::ObjectId | id | ) | [protected] |
установка ID объекта
| void uniset::UniSetObject::setMaxSizeOfMessageQueue | ( | size_t | s | ) | [protected] |
установка размера очереди сообщений
| void uniset::UniSetObject::setThreadPriority | ( | Poco::Thread::Priority | p | ) | [protected] |
установить приоритет для потока обработки сообщений (если позволяют права и система)
| void uniset::UniSetObject::sigterm | ( | int | signo | ) | [protected, virtual] |
Функция вызываемая при приходе сигнала завершения или прерывания процесса. Переопределив ее можно выполнять специфичные для процесса действия по обработке сигнала. Например переход в безопасное состояние.
Переопределяется в uniset::MBSlave, uniset::SharedMemory, uniset::IOControl, uniset::MBTCPMultiMaster, uniset::MBExchange, uniset::MBTCPMaster, TestProc_SK, TestProc_SK, uniset::UNetExchange, UObject_SK, LostTestProc_SK, TestProc_SK, uniset::MQTTPublisher, uniset::UniSetManager, uniset::DBServer_PostgreSQL, uniset::UniExchange, uniset::PassiveLProcessor и uniset::SMonitor.
| void uniset::UniSetObject::termWaiting | ( | ) | [protected] |
прервать ожидание сообщений
| void uniset::UniSetObject::thread | ( | bool | create | ) | [protected] |
запрет(разрешение) создания потока для обработки сообщений
| VoidMessagePtr uniset::UniSetObject::waitMessage | ( | timeout_t | msec = UniSetTimer::WaitUpTime | ) | [protected, virtual] |
Ожидать сообщения заданное время
std::shared_ptr<UInterface> uniset::UniSetObject::ui [protected] |
универсальный интерфейс для работы с другими процессами
1.7.6.1