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 |