|
SObjectizer
5.1
|
Gemont 2 агент для хранения списка источников данных и передачи их значениний. Подробнее...
Классы | |
| class | msg_periodic_messages_table_check |
| Периодическое сообщение, инициирующее проверку кеша ( на отложенные сообщения и чистку старых записей). Подробнее... | |
Открытые члены | |
| a_retranslator_base_t (so_5::rt::so_environment_t &env, const ACE_Time_Value &sending_time_interval=ACE_Time_Value(0, 250 *1000)) | |
| const data_source_table_t & | data_source_table () const |
| virtual void | so_define_agent () |
| Первоначальная инициализация агента. Подробнее... | |
| void | evt_periodic_messages_table_check (const so_5::rt::event_data_t< msg_periodic_messages_table_check > &msg) |
| Периодическая проверка таблицы сообщений. | |
| void | evt_scalar_value (const so_5::rt::event_data_t< gemont_2::msg_scalar_value > &msg) |
| Событие получения значения источника данных. | |
| void | evt_reg_data_source (const so_5::rt::event_data_t< gemont_2::msg_reg_data_source > &msg) |
| Событие регистрации источника данных. | |
| void | evt_dereg_data_source (const so_5::rt::event_data_t< gemont_2::msg_dereg_data_source > &msg) |
| Событие дерегистрации источника данных. | |
Открытые члены inherited from so_5::rt::agent_t | |
| agent_t (so_environment_t &env) | |
| Конструктор агента. Подробнее... | |
| const agent_t * | self_ptr () const |
| Получить указатель на себя. Подробнее... | |
| virtual void | so_evt_start () |
| Начальное событие агента. Подробнее... | |
| virtual void | so_evt_finish () |
| Завершающее событие агента. Подробнее... | |
| const state_t & | so_current_state () const |
| Получить ссылку на текущее состояние. | |
| const std::string & | so_coop_name () const |
| Имя кооперации, к которой принадлежит агент. Подробнее... | |
| void | so_add_nondestroyable_listener (agent_state_listener_t &state_listener) |
| Добавить агенту слушателя, время жизни которого агент не контролирует. | |
| void | so_add_destroyable_listener (agent_state_listener_unique_ptr_t state_listener) |
| Добавить агенту слушателся, владение которым передается агенту. | |
| so_environment_t & | so_environment () |
| Получить ссылку на среду SO к которой принадлежит агент. Подробнее... | |
Защищенные члены | |
| so_5::rt::mbox_ref_t | local_mbox () |
| virtual void | on_update (const std::string &data_source_name, const std::string &data_source_data_class, source_id_t id, const data_source_value_t &value, const ACE_Time_Value ×tamp)=0 |
| Абстрактные методы, которые вызываются по приходу соответствующих сообщений. Подробнее... | |
| virtual void | on_reg (const std::string &data_source_name, const std::string &data_source_data_class, source_id_t id, const data_source_value_t &value, const ACE_Time_Value ×tamp)=0 |
| virtual void | on_dereg (const std::string &data_source_name, const std::string &data_source_data_class, source_id_t id)=0 |
Защищенные члены inherited from so_5::rt::agent_t | |
| bool | so_was_defined () const |
| Был ли агент определен? Подробнее... | |
| const state_t & | so_default_state () const |
| Работа с состояниями. Подробнее... | |
| ret_code_t | so_change_state (const state_t &new_state, throwing_strategy_t throwing_strategy=THROW_ON_ERROR) |
| Сменить состояние. Подробнее... | |
| subscription_bind_t | so_subscribe (const mbox_ref_t &mbox_ref) |
| Подписка и отписка от сообщения. Подробнее... | |
| subscription_unbind_t | so_unsubscribe (const mbox_ref_t &mbox_ref) |
| Создать объект для изьятия подписки. Подробнее... | |
Закрытые типы | |
| typedef so_5::rt::agent_t | base_type_t |
Закрытые члены | |
| void | process_data_source_item (source_id_t source_id, data_source_item_t &data_source_item) |
| Обработать источник данных. Подробнее... | |
Закрытые данные | |
| so_5::rt::mbox_ref_t | m_local_mbox |
| Mbox агента для организации периодических сообщений. | |
| data_source_table_t | m_data_source_table |
| Актуальный список источников данных и их значений. | |
| const ACE_Time_Value | m_sending_time_interval |
| Минимальный временной интервал между отправкой сообщений. Подробнее... | |
| so_5::timer_thread::timer_id_ref_t | m_messages_table_timer |
| Таймер периодического сообщения проверки таблицы сообщений. | |
Additional Inherited Members | |
Открытые статические члены inherited from so_5::rt::agent_t | |
| static void | call_push_event (agent_t &agent, const event_caller_block_ref_t &event_handler_caller, const message_ref_t &message) |
| Поставить в очередь событие для выполнения агентом. Подробнее... | |
| static void | call_next_event (agent_t &agent) |
| Инициировать выполнение очередного события. Подробнее... | |
| static void | call_bind_to_disp (agent_t &agent, dispatcher_t &disp) |
| Привязать агента к диспетчеру. Подробнее... | |
Gemont 2 агент для хранения списка источников данных и передачи их значениний.
| const data_source_table_t & gemont_2::a_retranslator_base_t::data_source_table | ( | ) | const |
Получить список источников и их значений. Таблица предназначена только для чтения - в узлах находятся shared_ptr'ы, и при передаче таблицы в другие нити нужно озаботиться клонированием.
Перекрестные ссылки m_data_source_table.
|
protectedpure virtual |
| data_source_name | Имя источника данных. |
| data_source_data_class | Класс источника данных. |
| id | Идентификатор источника данных. |
Используется в evt_dereg_data_source().
|
protectedpure virtual |
| data_source_name | Имя источника данных. |
| data_source_data_class | Класс источника данных. |
| id | Идентификатор источника данных. |
| value | Текущее значение источника данных. |
| timestamp | Время изменения значения. |
Используется в evt_reg_data_source().
|
protectedpure virtual |
Абстрактные методы, которые вызываются по приходу соответствующих сообщений.
| data_source_name | Имя источника данных. |
| data_source_data_class | Класс источника данных. |
| id | Идентификатор источника данных. |
| value | Текущее значение источника данных. |
| timestamp | Время изменения значения. |
Используется в process_data_source_item().
|
private |
Обработать источник данных.
Определяет нужно ли вызывать on_update и обновляет время распростронения значения.
Перекрестные ссылки gemont_2::data_source_item_t::m_actual_value_at, gemont_2::data_source_item_t::m_data_class, gemont_2::data_source_item_t::m_distributed_value_at, gemont_2::data_source_item_t::m_distributed_value_is_actual, gemont_2::data_source_item_t::m_name, m_sending_time_interval, gemont_2::data_source_item_t::m_value и on_update().
Используется в evt_periodic_messages_table_check() и evt_scalar_value().
|
virtual |
Первоначальная инициализация агента.
Метод определения агента.
Метод, который вызывается до того как агент начнет работать в SO, т.е. до того как начнется его работа на рабочей нити.
Переопределяет метод предка so_5::rt::agent_t.
Перекрестные ссылки so_5::rt::subscription_bind_t::event(), evt_dereg_data_source(), evt_periodic_messages_table_check(), evt_reg_data_source(), evt_scalar_value(), m_local_mbox, m_messages_table_timer, m_sending_time_interval, so_5::rt::so_environment_t::query_layer(), so_5::rt::so_environment_t::schedule_timer(), so_5::rt::agent_t::so_environment() и so_5::rt::agent_t::so_subscribe().
|
private |
Минимальный временной интервал между отправкой сообщений.
Используется в process_data_source_item() и so_define_agent().
Документация по SObjectizer v.5.1 'Джимара'. Последние изменения: Ср 15 Май 2013 12:56:21. Создано системой
1.8.3.1
|
|