Классы | |
class | subscr_hook_storage_t |
Хранилище динамически созданных объектов subscr_hook_t. Подробнее... | |
class | dyn_coop_controlled_obj_storage_t |
Хранилище указателей на объекты, время жизни которых определяется динамической кооперацией. Подробнее... | |
class | uncompatible_incident_finder_t |
Предикат для std::find_if. Подробнее... | |
class | std_class_relation_handler_t |
class | new_content_filler_t |
Предикат для std::for_each. Подробнее... | |
class | class_name_to_set_t |
Предикат для std::for_each. Подробнее... | |
class | cyclic_inheritance_marker_t |
Предикат для std::for_each. Подробнее... | |
class | msg_conflict_finder_t |
Предикат для std::for_each. Подробнее... | |
class | evt_conflict_finder_t |
Предикат для std::for_each. Подробнее... | |
class | state_conflict_finder_t |
Предикат для std::for_each. Подробнее... | |
class | merge_possibility_checker_t |
Предикат для std::find_if. Подробнее... | |
struct | state_by_name_finder_t |
Предикат для std::find_if. Подробнее... | |
class | merge_maker_t |
Предикат для std::for_each. Подробнее... | |
class | unknown_evt_checker_t |
Предикат для std::find_if. Подробнее... | |
class | unknown_evt_in_state_finder_t |
Предикат для std::find_if. Подробнее... | |
class | agent_coop_storage_t |
Класс для хранения описания кооперации агентов. Подробнее... | |
class | agent_traits_storage_t |
Хранилище свойств (traits) агента. Подробнее... | |
class | msg_data_impl_t |
Класс для хранения и управления экземпляром сообщения. Подробнее... | |
class | msg_wrapper_t |
class | evt_wrapper_t |
Базовый класс для внутренней обертки вокруг события агента. Подробнее... | |
class | agent_wrapper_t |
class | agent_wrapper_base_t |
class | auto_map_cleaner_t |
class | auto_hash_map_cleaner_t |
class | base_evt_wrapper_t |
class | class_handler_impl_t |
Внутренее описание класса агента. Подробнее... | |
class | class_relation_handler_t |
class | delivery_man_t |
Класс для случаев управления постановки заявок на выполнение событий при доставке сообщения. Подробнее... | |
class | event_data_impl_t |
class | event_data_only_one_of_t |
class | event_data_single_t |
Класс для представления информации о нормальном событии порожденным нормальным инцидентом (т.н. одиночное событие). Подробнее... | |
class | evt_handler_impl_t |
Реальное описание обработчика события. Подробнее... | |
class | evt_retranslator_t |
class | evt_subscr_impl_t |
class | evt_traditional_t |
class | global_agent_wrapper_t |
class | msg_data_ptr_keeper_t |
Вспомогательный класс для случая, когда указатель на данные экземпляра сообщения не должен преобразовываться. Подробнее... | |
class | msg_data_ptr_maker_t |
Вспомогательный класс для случая, когда указатель на данные сообщения должен быть получен посредством создания нового объекта с помощью msg_wrapper_t. Подробнее... | |
struct | sobjectizer_settings_t |
Глобальные параметры работы SObjectizer. Подробнее... | |
class | kernel_t |
class | fld_type_to_sop_stream_type_t |
Установление соответствия между C++ типом и типом потока в SOP. Подробнее... | |
class | fld_type_to_sop_stream_type_t< char > |
class | fld_type_to_sop_stream_type_t< signed char > |
class | fld_type_to_sop_stream_type_t< unsigned char > |
class | fld_type_to_sop_stream_type_t< short > |
class | fld_type_to_sop_stream_type_t< unsigned short > |
class | fld_type_to_sop_stream_type_t< int > |
class | fld_type_to_sop_stream_type_t< unsigned int > |
class | fld_type_to_sop_stream_type_t< float > |
class | fld_type_to_sop_stream_type_t< double > |
class | fld_type_to_sop_stream_type_t< std::string > |
class | fld_type_to_sop_stream_type_t< comm_buf_t > |
class | fld_type_to_sop_stream_type_t< oess_1::stdsn::serializable_t > |
class | msg_fld_handler_template_t |
Шаблонный класс для манипуляции полями элементарных типов. Подробнее... | |
class | msg_handler_impl_t |
Реальный описатель сообщения агента. Подробнее... | |
class | phys_coop_destroyer_t |
Класс для физического удаления агентов и коопераций. Подробнее... | |
class | state_handler_impl_t |
Реальный описатель состояния агента. Подробнее... | |
class | state_finder_t |
Предикат для std::find_if. Подробнее... | |
class | state_listener_storage_t |
Хранилище слушателей состояний агента. Подробнее... | |
class | std_agent_wrapper_t |
struct | single_demand_info_t |
Описание одной заявки. Подробнее... | |
class | one_demand_delivery_man_t |
Реализация delivery_man для случая когда будет всего одна заявка. Подробнее... | |
class | fixed_buffer_delivery_man_t |
Реализация delivery_man для случая внешнего буфера заявок фиксированного размера. Подробнее... | |
class | dynamic_buffer_delivery_man_t |
Реализация delivery_man для случая динамического буфера для хранения заявок. Подробнее... | |
class | std_msg_wrapper_t |
Стандартная обертка сообщения агента. Подробнее... | |
class | sys_dict_t |
Словарь системы. Подробнее... | |
class | call_on_enter_t |
class | evt_receive_msg_caller_t |
class | std_sys_dict_t |
Стандартная реализация интерфейса sys_dict_t. Подробнее... | |
struct | coop_by_name_deregistrator_t |
Предикат для std::for_each. Подробнее... | |
class | no_child_extractor_t |
Предикат для std::remove_if. Подробнее... | |
Пространства имен | |
namespace | coop_relation |
Пространство имен средств синхронизации доступа к информации о взаимоотношениях между кооперациями. | |
namespace | ref_count_ops |
Механизм подстчета ссылок для агентов/сообщений/событий. | |
namespace | std_delivery_map_helpers |
Вспомогательные средства для std_delivery_man_t. | |
Определения типов | |
typedef evt_wrapper_t *(* | pfn_evt_wrapper_factory_t )(agent_wrapper_t &, const evt_handler_impl_t &) |
typedef std::pair < agent_traits_t *, bool > | traits_pair_t |
Хранилище для указателя на свойство и признак его времени жизни. | |
typedef std::list< traits_pair_t > | traits_pair_list_t |
Список свойств агента. | |
typedef std::set < agent_wrapper_t * > | agent_wrapper_ptr_set_t |
typedef std::set< msg_wrapper_t * > | msg_wrapper_ptr_set_t |
typedef std::set< evt_wrapper_t * > | evt_wrapper_ptr_set_t |
typedef std::set< std::string > | bases_set_t |
typedef std::map< std::string, class_handler_impl_t * > | class_map_t |
typedef std::vector < event_data_single_t * > | event_data_single_ptr_list_t |
typedef void(* | pfn_action_t )(so_4::rt::agent_t *, const so_4::rt::event_data_t &) |
typedef std::vector< const evt_handler_impl_t * > | evt_handler_impl_ptr_vector_t |
typedef void *(* | pfn_msg_creator_t )() |
typedef void(* | pfn_msg_destroyer_t )(void *) |
typedef so_4::rt::msg_fld_handler_t *(* | pfn_create_msg_fld_handler_t )(void *fld_ptr) |
typedef bool(* | pfn_msg_checker_t )(void *) |
typedef std::vector< const msg_handler_impl_t * > | msg_handler_impl_ptr_vector_t |
typedef void(* | pfn_on_state_enter_t )(so_4::rt::agent_t *agent, const std::string &state_name) |
typedef void(* | pfn_on_state_exit_t )(so_4::rt::agent_t *agent, const std::string &state_name) |
typedef std::set < pfn_on_state_enter_t, std::less < pfn_on_state_enter_t > > | on_enter_pfn_set_t |
typedef on_enter_pfn_set_t | on_exit_pfn_set_t |
typedef std::vector < state_handler_impl_t * > | state_handler_impl_ptr_vector_t |
typedef std::pair < agent_state_listener_t *, bool > | listener_pair_t |
Хранилище слушателя и признака времени его жизни. | |
typedef std::vector < listener_pair_t > | listener_pair_list_t |
Список слушателей состояний агента. | |
typedef std::vector < agent_wrapper_t * > | agent_wrapper_ptr_vector_t |
typedef std::map< std::string, agent_coop_t * > | coop_map_t |
typedef std::vector < agent_coop_t * > | coop_vector_t |
typedef std::list< std::string > | agent_name_list_t |
Тип списка имен агентов. | |
typedef call_on_enter_t | call_on_exit_t |
Функции | |
ret_code_t | change_agent_state (const std::string &agent_name, const std::string &state_name, bool always_call_handlers) |
static bool | state_need_no_merging (const state_handler_impl_ptr_vector_t::value_type &o) |
Предикат для std::remove_copy_if. | |
void | invalid_class_to_stderr_dumper (const std_class_relation_handler_t::class_info_map_t::value_type &a) |
Предикат для std::for_each. | |
static void | exclude_disabled_events_caller (state_handler_impl_ptr_vector_t::value_type a) |
Предикат для std::for_each. | |
class_relation_handler_t * | create_std_class_relation_handler () |
static void | destroy_single_event (event_data_single_t *e) |
evt_wrapper_t * | retranslator_evt_factory (agent_wrapper_t &agent, const evt_handler_impl_t &evt_handler) |
evt_wrapper_t * | traditional_evt_factory (agent_wrapper_t &agent, const evt_handler_impl_t &evt_handler) |
agent_wrapper_t * | create_global_agent_wrapper (const cpp_util_2::string_piece_t &name, class_handler_impl_t &agent_class) |
msg_wrapper_t * | create_std_msg_wrapper (agent_wrapper_t &agent, const msg_handler_impl_t &msg_handler) |
agent_wrapper_t * | create_std_agent_wrapper (const std::string &name, class_handler_impl_t &agent_class, agent_t *agent) |
template<class HASH_MAP> | |
void | clean_hash_map (HASH_MAP &what) |
Принудительная очиска указанного Hash_Map-а. | |
void | run_event_action (const so_4::rt::event_data_t &event_data) |
Вспомогательная функция для упрощения запуска обработчика события на исполнение. | |
template<class MSG_DATA_PROCESSOR> | |
so_4::ret_code_t | init_msg_data_object_on_blocked_kernel (const so_4::rt::impl::kernel_t &kernel, so_4::rt::msg_data_t &obj_to_init, const cpp_util_2::string_piece_t &agent_name, const cpp_util_2::string_piece_t &msg_name, MSG_DATA_PROCESSOR &msg_data_processor, const cpp_util_2::string_piece_t &receiver, const so_4::rt::comm_channel_t &channel_to, const so_4::rt::comm_channel_t &channel_from) |
Низкоуровневая функция для инициализации объекта msg_data_t. | |
template<class MSG_DATA_PROCESSOR> | |
so_4::ret_code_t | init_msg_data_object (so_4::rt::msg_data_t &obj_to_init, const cpp_util_2::string_piece_t &agent_name, const cpp_util_2::string_piece_t &msg_name, MSG_DATA_PROCESSOR &msg_data_processor, const cpp_util_2::string_piece_t &receiver, const so_4::rt::comm_channel_t &channel_to, const so_4::rt::comm_channel_t &channel_from) |
Низкоуровневая функция для инициализации объекта msg_data_t. | |
template<class In_type, class Out_type> | |
int | convert_input (oess_1::io::istream_t &input, unsigned int input_size, Out_type *to, unsigned int capacity, In_type *dummy) |
Функция преобразования значений из входного потока к другому типу. | |
template<> | |
int | convert_input< oess_1::char_t, std::string > (oess_1::io::istream_t &input, unsigned int input_size, std::string *to, unsigned int capacity, oess_1::char_t *dummy) |
template<> | |
int | convert_input< oess_1::char_t, so_4::rt::comm_buf_t > (oess_1::io::istream_t &input, unsigned int input_size, comm_buf_t *to, unsigned int capacity, oess_1::char_t *dummy) |
template<> | |
int | convert_input< oess_1::stdsn::serializable_t, oess_1::stdsn::serializable_t > (oess_1::io::istream_t &input, unsigned int input_size, oess_1::stdsn::serializable_t *to, unsigned int capacity, oess_1::stdsn::serializable_t *dummy) |
template<class Real_type, class Out_type> | |
void | convert_output (oess_1::io::ostream_t &output, const Real_type *from, unsigned int capacity, unsigned int &items_written) |
Функция преобразования значений одного типа в другой тип и помещения получившихся значений в выходной поток. | |
template<> | |
void | convert_output< std::string, oess_1::char_t > (oess_1::io::ostream_t &output, const std::string *from, unsigned int capacity, unsigned int &items_written) |
template<> | |
void | convert_output< comm_buf_t, oess_1::char_t > (oess_1::io::ostream_t &output, const comm_buf_t *from, unsigned int capacity, unsigned int &items_written) |
template<> | |
void | convert_output< oess_1::stdsn::serializable_t, oess_1::stdsn::serializable_t > (oess_1::io::ostream_t &output, const oess_1::stdsn::serializable_t *from, unsigned int capacity, unsigned int &items_written) |
sys_dict_t * | create_std_sys_dict () |
kernel_t::locks_t & | kernel_locks () |
static const std::string & | coop_ptr_to_coop_name (const agent_coop_t *coop) |
Предикат для std::transform. | |
agent_coop_t * | coop_map_to_vector (const coop_map_t::value_type &a) |
Извлечение указателя на кооперацию из элемента карты коопераций. | |
static void | make_cleanup_vector (coop_vector_t &all_coops, coop_vector_t &coops) |
Построение списка векторов коопераций при очистке словаря. | |
void | coop_destroyer (agent_coop_t *coop) |
Переменные | |
kernel_t * | g_kernel |
typedef std::list< std::string > so_4::rt::impl::agent_name_list_t |
Тип списка имен агентов.
typedef std::set< std::string > so_4::rt::impl::bases_set_t |
Тип множества имен базовых классов.
typedef std::vector< agent_coop_t * > so_4::rt::impl::coop_vector_t |
typedef std::vector< listener_pair_t > so_4::rt::impl::listener_pair_list_t |
Список слушателей состояний агента.
typedef std::pair< agent_state_listener_t *, bool > so_4::rt::impl::listener_pair_t |
Хранилище слушателя и признака времени его жизни.
typedef std::list< traits_pair_t > so_4::rt::impl::traits_pair_list_t |
Список свойств агента.
typedef std::pair< agent_traits_t *, bool > so_4::rt::impl::traits_pair_t |
Хранилище для указателя на свойство и признак его времени жизни.
void so_4::rt::impl::clean_hash_map | ( | HASH_MAP & | what | ) | [inline] |
Принудительная очиска указанного Hash_Map-а.
Перекрестные ссылки so_4::rt::impl::auto_hash_map_cleaner_t< Map >::destroy().
Используется в so_4::rt::impl::std_sys_dict_t::cleanup().
int so_4::rt::impl::convert_input | ( | oess_1::io::istream_t & | input, | |
unsigned int | input_size, | |||
Out_type * | to, | |||
unsigned int | capacity, | |||
In_type * | dummy | |||
) | [inline] |
Функция преобразования значений из входного потока к другому типу.
Будет специализироваться для некоторых типов преобразований.
input | Входной поток. |
input_size | Количество элементов во входном потоке. |
to | Приемник прочитанных значений. |
capacity | Размер приемника в элементах. |
dummy | Для распознования шаблона. |
Перекрестные ссылки so_4::rt::msg_fld_handler_t::e_ok и so_4::rt::msg_fld_handler_t::e_out_of_range.
Используется в so_4::rt::impl::msg_fld_handler_template_t< T >::lo_write_to_fld().
int so_4::rt::impl::convert_input< oess_1::char_t, so_4::rt::comm_buf_t > | ( | oess_1::io::istream_t & | input, | |
unsigned int | input_size, | |||
comm_buf_t * | to, | |||
unsigned int | capacity, | |||
oess_1::char_t * | dummy | |||
) | [inline] |
Специальное преобразование byte-stream в so_4::rt::comm_buf_t.
capacity | Игнорируется. |
int so_4::rt::impl::convert_input< oess_1::char_t, std::string > | ( | oess_1::io::istream_t & | input, | |
unsigned int | input_size, | |||
std::string * | to, | |||
unsigned int | capacity, | |||
oess_1::char_t * | dummy | |||
) | [inline] |
Специальное преобразование byte-stream в std::string.
capacity | Игнорируется. |
int so_4::rt::impl::convert_input< oess_1::stdsn::serializable_t, oess_1::stdsn::serializable_t > | ( | oess_1::io::istream_t & | input, | |
unsigned int | input_size, | |||
oess_1::stdsn::serializable_t * | to, | |||
unsigned int | capacity, | |||
oess_1::stdsn::serializable_t * | dummy | |||
) | [inline] |
Специальное преобразование oess_stdsn-stream в oess_1::stdsn::serializable_t.
capacity | Игнорируется. |
void so_4::rt::impl::convert_output | ( | oess_1::io::ostream_t & | output, | |
const Real_type * | from, | |||
unsigned int | capacity, | |||
unsigned int & | items_written | |||
) | [inline] |
Функция преобразования значений одного типа в другой тип и помещения получившихся значений в выходной поток.
Будет специализироваться для некоторых типов преобразований.
output | Выходной поток. |
from | Значения для преобразования. |
capacity | Количество значений для преобразования. |
items_written | Приемник количества реально записаных элементов типа Out_type |
void so_4::rt::impl::convert_output< comm_buf_t, oess_1::char_t > | ( | oess_1::io::ostream_t & | output, | |
const comm_buf_t * | from, | |||
unsigned int | capacity, | |||
unsigned int & | items_written | |||
) | [inline] |
output | Выходной поток. |
from | Значения для преобразования. |
capacity | Игнорируется. |
items_written | Приемник количества реально записаных элементов типа oess_1::char_t. |
void so_4::rt::impl::convert_output< oess_1::stdsn::serializable_t, oess_1::stdsn::serializable_t > | ( | oess_1::io::ostream_t & | output, | |
const oess_1::stdsn::serializable_t * | from, | |||
unsigned int | capacity, | |||
unsigned int & | items_written | |||
) | [inline] |
output | Выходной поток. |
from | Значения для преобразования. |
capacity | Игнорируется. |
items_written | Приемник количества реально записаных элементов типа oess_1::stdsn::serializable_t. |
void so_4::rt::impl::convert_output< std::string, oess_1::char_t > | ( | oess_1::io::ostream_t & | output, | |
const std::string * | from, | |||
unsigned int | capacity, | |||
unsigned int & | items_written | |||
) | [inline] |
output | Выходной поток. |
from | Значения для преобразования. |
capacity | Игнорируется. |
items_written | Приемник количества реально записаных элементов типа oess_1::char_t. |
agent_coop_t* so_4::rt::impl::coop_map_to_vector | ( | const coop_map_t::value_type & | a | ) |
Извлечение указателя на кооперацию из элемента карты коопераций.
Используется в so_4::rt::impl::std_sys_dict_t::cleanup().
static const std::string& so_4::rt::impl::coop_ptr_to_coop_name | ( | const agent_coop_t * | coop | ) | [static] |
Предикат для std::transform.
Перекрестные ссылки so_4::rt::agent_coop_t::query_name().
Используется в so_4::rt::impl::std_sys_dict_t::do_deregistration().
class_relation_handler_t * so_4::rt::impl::create_std_class_relation_handler | ( | ) |
Создание стандартной реализации интерфейса class_relation_handler_t.
static void so_4::rt::impl::exclude_disabled_events_caller | ( | state_handler_impl_ptr_vector_t::value_type | a | ) | [static] |
Предикат для std::for_each.
Используется в so_4::rt::impl::std_class_relation_handler_t::build_all_state_list().
so_4::ret_code_t so_4::rt::impl::init_msg_data_object | ( | so_4::rt::msg_data_t & | obj_to_init, | |
const cpp_util_2::string_piece_t & | agent_name, | |||
const cpp_util_2::string_piece_t & | msg_name, | |||
MSG_DATA_PROCESSOR & | msg_data_processor, | |||
const cpp_util_2::string_piece_t & | receiver, | |||
const so_4::rt::comm_channel_t & | channel_to, | |||
const so_4::rt::comm_channel_t & | channel_from | |||
) | [inline] |
Низкоуровневая функция для инициализации объекта msg_data_t.
obj_to_init | Объект, который должен быть проинициализирован. |
agent_name | Имя агента-владельца сообщения. |
msg_name | Имя сообщения. |
msg_data_processor | Объект, который возвращает указатель на данные сообщения. |
receiver | Имя агента-получателя сообщения. Пустая строка в случае широковещательной рассылки. |
channel_to | Канал, в который направляется сообщение. |
channel_from | Канала, из которого сообщение было получено. |
Перекрестные ссылки so_4::rt::impl::kernel_t::dict(), so_4::rt::impl::sys_dict_t::find_agent(), so_4::rt::impl::kernel_t::is_running(), so_4::rt::impl::kernel_t::one_phase_operation_lock_t::kernel(), so_4::rc_not_found, so_4::rc_sys_not_running и SO_4_ERROR_RETURN.
so_4::ret_code_t so_4::rt::impl::init_msg_data_object_on_blocked_kernel | ( | const so_4::rt::impl::kernel_t & | kernel, | |
so_4::rt::msg_data_t & | obj_to_init, | |||
const cpp_util_2::string_piece_t & | agent_name, | |||
const cpp_util_2::string_piece_t & | msg_name, | |||
MSG_DATA_PROCESSOR & | msg_data_processor, | |||
const cpp_util_2::string_piece_t & | receiver, | |||
const so_4::rt::comm_channel_t & | channel_to, | |||
const so_4::rt::comm_channel_t & | channel_from | |||
) | [inline] |
Низкоуровневая функция для инициализации объекта msg_data_t.
kernel | Ядро SObjectizer Run-Time. |
obj_to_init | Объект, который должен быть проинициализирован. |
agent_name | Имя агента-владельца сообщения. |
msg_name | Имя сообщения. |
msg_data_processor | Объект, который возвращает указатель на данные сообщения. |
receiver | Имя агента-получателя сообщения. Пустая строка в случае широковещательной рассылки. |
channel_to | Канал, в который направляется сообщение. |
channel_from | Канала, из которого сообщение было получено. |
Перекрестные ссылки so_4::rt::impl::kernel_t::dict(), so_4::rt::impl::sys_dict_t::find_agent(), so_4::rt::impl::kernel_t::is_running(), so_4::rc_not_found, so_4::rc_sys_not_running и SO_4_ERROR_RETURN.
Используется в so_4::api::send_delayed_or_periodic_msg() и so_4::api::send_non_delayed_non_periodic_msg().
void so_4::rt::impl::invalid_class_to_stderr_dumper | ( | const std_class_relation_handler_t::class_info_map_t::value_type & | a | ) |
Предикат для std::for_each.
Перекрестные ссылки so_4::rt::impl::std_class_relation_handler_t::state_invalid.
Используется в so_4::rt::impl::std_class_relation_handler_t::process_content().
kernel_t::locks_t& so_4::rt::impl::kernel_locks | ( | ) | [inline] |
Упрощенный доступ к замку системного словаря.
Перекрестные ссылки so_4::rt::impl::kernel_t::locks().
Используется в so_4::rt::impl::kernel_t::multi_phase_operation_lock_t::unlock(), so_4::rt::impl::kernel_t::one_phase_operation_lock_t::unlock() и so_4::rt::impl::kernel_t::one_phase_operation_lock_t::wait_for_shutdown_possibility().
static void so_4::rt::impl::make_cleanup_vector | ( | coop_vector_t & | all_coops, | |
coop_vector_t & | coops | |||
) | [static] |
Построение списка векторов коопераций при очистке словаря.
all_coops | Все кооперации на момент очистки словаря. |
coops | Приемник для результата. |
Используется в so_4::rt::impl::std_sys_dict_t::cleanup().
void so_4::rt::impl::run_event_action | ( | const so_4::rt::event_data_t & | event_data | ) | [inline] |
Вспомогательная функция для упрощения запуска обработчика события на исполнение.
Перекрестные ссылки so_4::rt::event_data_t::query_impl() и so_4::rt::impl::event_data_impl_t::run_action().
Используется в so_4::rt::event_data_t::run_event_action().
static bool so_4::rt::impl::state_need_no_merging | ( | const state_handler_impl_ptr_vector_t::value_type & | o | ) | [static] |
Предикат для std::remove_copy_if.
Используется в so_4::rt::impl::class_handler_impl_t::states_for_merge().
Документация по SObjectizer v.4.4 'Тебуломста'. Последние изменения: Thu Sep 18 10:26:49 2008. Создано системой 1.5.6 |