UniSet  2.6.0
Классы | Открытые типы | Открытые члены | Открытые статические члены | Защищенные типы | Защищенные члены | Защищенные данные | Статические защищенные данные | Друзья
Класс uniset::SharedMemory
Граф наследования:uniset::SharedMemory:
Inheritance graph
[см. легенду]
Граф связей класса uniset::SharedMemory:
Collaboration graph
[см. легенду]

Полный список членов класса

Классы

class  HeartBeatInfo
struct  HistoryInfo
struct  HistoryItem

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

typedef std::deque< long > HBuffer
typedef std::list< HistoryItemHistoryList
typedef std::list< HistoryInfoHistory
typedef std::list
< History::iterator > 
HistoryItList
typedef std::unordered_map
< uniset::ObjectId,
HistoryItList > 
HistoryFuseMap
typedef sigc::signal< void,
const HistoryInfo & > 
HistorySlot

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

 SharedMemory (uniset::ObjectId id, const std::string &datafile, const std::string &confname="")
virtual CORBA::Boolean exist () override
virtual uniset::SimpleInfogetInfo (const char *userparam=0) override
void addReadItem (Restorer_XML::ReaderSlot sl)
HistorySlot signal_history ()
int getHistoryStep () const
std::shared_ptr< LogAgregatorlogAgregator ()
std::shared_ptr< DebugStreamlog ()

Открытые статические члены

static std::shared_ptr
< SharedMemory
init_smemory (int argc, const char *const *argv)
static void help_print (int argc, const char *const *argv)

Защищенные типы

enum  Timers {
  tmHeartBeatCheck, tmEvent, tmHistory, tmPulsar,
  tmLastOfTimerID
}
typedef std::list
< Restorer_XML::ReaderSlot
ReadSlotList
typedef std::list< HeartBeatInfoHeartBeatList
typedef std::list
< uniset::ObjectId
EventList

Защищенные члены

virtual void sysCommand (const uniset::SystemMessage *sm) override
virtual void timerInfo (const uniset::TimerMessage *tm) override
virtual void askSensors (UniversalIO::UIOCommand cmd)
void sendEvent (uniset::SystemMessage &sm)
void initFromReserv ()
bool initFromSM (uniset::ObjectId sm_id, uniset::ObjectId sm_node)
virtual void sigterm (int signo) override
virtual bool activateObject () override
virtual bool deactivateObject () override
bool readItem (const std::shared_ptr< UniXML > &xml, UniXML::iterator &it, xmlNode *sec)
void buildEventList (xmlNode *cnode)
void readEventList (const std::string &oname)
void checkHeartBeat ()
virtual void logging (uniset::SensorMessage &sm) override
 сохранение информации об изменении состояния датчика
virtual void dumpOrdersList (const uniset::ObjectId sid, const IONotifyController::ConsumerListInfo &lst) override
virtual void dumpThresholdList (const uniset::ObjectId sid, const IONotifyController::ThresholdExtList &lst) override
virtual void checkFuse (std::shared_ptr< IOController::USensorInfo > &usi, IOController *)
virtual void saveToHistory ()
void buildHistoryList (xmlNode *cnode)
void checkHistoryFilter (UniXML::iterator &it)

Защищенные данные

ReadSlotList lstRSlot
std::mutex mutexStart
int heartbeatCheckTime
std::string heartbeat_node
int histSaveTime
HeartBeatList hblist
std::shared_ptr< WDTInterfacewdt
std::atomic_bool activated
std::atomic_bool workready
EventList elst
std::string e_filter
int evntPause
int activateTimeout
bool dblogging = { false }
History hist
HistoryFuseMap histmap
IOStateList::iterator itPulsar
uniset::ObjectId sidPulsar
int msecPulsar
xmlNode * confnode
std::shared_ptr< LogAgregatorloga
std::shared_ptr< DebugStreamsmlog
std::shared_ptr< LogServerlogserv
std::string logserv_host = {""}
int logserv_port = {0}
VMonitor vmon

Статические защищенные данные

static const size_t udataHistory = 2

Друзья

std::ostream & operator<< (std::ostream &os, const HistoryInfo &h)

Методы

bool uniset::SharedMemory::activateObject ( ) [override, protected, virtual]
Заметки:
Переопределяя не забывайте вызвать базовую

Регистрирация объекта и всех его подобъектов в репозитории.

Заметки:
Только после этого он (и они) становятся доступны другим процессам

Переопределяет метод предка uniset::IONotifyController.

bool uniset::SharedMemory::deactivateObject ( ) [override, protected, virtual]
Заметки:
Переопределяя не забывайте вызвать базовую

Удаление объекта и всех его подобъектов из репозитория.

Заметки:
Объект становится недоступен другим процессам

Переопределяет метод предка uniset::IOController.

virtual void uniset::SharedMemory::dumpOrdersList ( const uniset::ObjectId  sid,
const IONotifyController::ConsumerListInfo lst 
) [inline, override, protected, virtual]

сохранение списка заказчиков По умолчанию делает dump, если объявлен dumper.

Переопределяет метод предка uniset::IONotifyController.

virtual void uniset::SharedMemory::dumpThresholdList ( const uniset::ObjectId  sid,
const IONotifyController::ThresholdExtList lst 
) [inline, override, protected, virtual]

сохранение списка заказчиков пороговых датчиков По умолчанию делает dump, если объявлен dumper.

Переопределяет метод предка uniset::IONotifyController.

int uniset::SharedMemory::getHistoryStep ( ) const [inline]

< период между точками "дампа", мсек

void uniset::SharedMemory::help_print ( int  argc,
const char *const *  argv 
) [static]

глобальная функция для вывода help-а

shared_ptr< SharedMemory > uniset::SharedMemory::init_smemory ( int  argc,
const char *const *  argv 
) [static]

глобальная функция для инициализации объекта

void uniset::SharedMemory::logging ( uniset::SensorMessage sm) [override, protected, virtual]

сохранение информации об изменении состояния датчика

Переопределяет метод предка uniset::IOController.

SharedMemory::HistorySlot uniset::SharedMemory::signal_history ( )

сигнал о срабатывании условий "сброса" дампа истории

void uniset::SharedMemory::sigterm ( int  signo) [override, protected, virtual]

Функция вызываемая при приходе сигнала завершения или прерывания процесса. Переопределив ее можно выполнять специфичные для процесса действия по обработке сигнала. Например переход в безопасное состояние.

Предупреждения:
В обработчике сигналов ЗАПРЕЩЕНО вызывать функции подобные exit(..), abort()!!!!

Переопределяет метод предка uniset::UniSetManager.


Данные класса

HistoryFuseMap uniset::SharedMemory::histmap [protected]

map для оптимизации поиска

const size_t uniset::SharedMemory::udataHistory = 2 [static, protected]
Предупреждения:
Оптимизация использует userdata! Это опасно, если кто-то ещё захочет использовать userdata[2]. (0,1 - использует IONotifyController)