gemont_2 | |
h | |
a_retranslator.hpp | Gemont 2 агент для хранения списка источников данных и передачи их значениний |
declspec.hpp | Макросы, содержащие инструкции, которые управляют экспортом или импортом классов из библиотеки GEMONT 2 |
exception.hpp | Исключения gemont_2 |
gemont_layer.hpp | Слой для работы с gemont_2 |
messages.hpp | Сообщения GEMONT 2 |
pub.hpp | Основные классы источников данных |
ret_code.hpp | Коды возвращаемых значений |
types.hpp | Вспомогательные определения типов |
impl | |
h | |
gemont_layer_impl.hpp | Реализация слоя работы с gemont_2 |
a_retranslator.cpp | Gemont 2 агент для хранения списка источников данных и передачи их значениний |
messages.cpp | Сообщения GEMONT 2 |
pub.cpp | Основные классы источников данных |
mbapi_4 | |
comm | |
h | |
a_mbapi_incoming_channel.hpp | Агент обслуживающий серверный mbapi канал |
a_mbapi_outgoing_channel.hpp | Агент обслуживающий клиентский mbapi канал |
tables_sync_message.hpp | Сообщение-сигнал для синхронизации таблиц конечных точек и точек стадий с обоих сторон канала |
transmit_info.hpp | Вспомогательные определения типов |
impl | |
h | |
get_layer_impl.hpp | Вспомогательная функция для получения mbapi_layer_impl_t |
iochannel_data_processor.hpp | Обработчик mbapi-трафика данного канала |
traffic_transformator.hpp | Преобразователи трафика |
defs | |
h | |
channel_uid_wrapper.hpp | Обертка для уникального идентификатора канала |
endpoint.hpp | Конечная точка для приема и отправки мообщений |
handshaking_params.hpp | Параметры процедуры handshake между mbapi-агентами |
mbapi_node_uid.hpp | Идентификатор узла mbapi сети |
oess_id_wrapper.hpp | Обертка над идентификатором оess |
ret_code.hpp | Коды ошибок MBAPI 4 |
stagepoint.hpp | Промежуточная стадия |
impl | |
h | |
check_point_name.hpp | Функция для проверки имени конечной точи и стадии |
handshaking_params.cpp | Параметры процедуры handshake между mbapi-агентами |
h | |
endpoint_bind.hpp | Привязка конечной точки на данном узле |
mbapi_layer.hpp | Слой для работы с mbapi_4 |
message.hpp | Шаблон сообщения для передачи по mbapi |
stagepoint_bind.hpp | Сертификат точки-стадии на данном узле |
impl | |
h | |
iosession.hpp | Сессия чтения данных |
mbapi_layer_impl.hpp | Реализация слоя работы с mbapi_4 |
stagepoint_bind_impl.hpp | Реадизация привязки точки-стадии на данном узле |
types.hpp | Вспомогательные определения типов |
infrastructure | |
h | |
availability_tables.hpp | Описания таблицы доступности конечных точек и стадий, а также таблица цепочек следования к конечной точке для тех, что доступны в данный момент |
channel_info.hpp | Описания таблицы доступности конечных точек и стадий, а также таблица цепочек следования к конечной точке для тех, что доступны в данный момент |
network_environment.hpp | Окружение mbapi-сети |
proto | |
h | |
handshake_info.hpp | Описания mbapi-пакета для процедуры handshake |
package_header.hpp | Класс для работы с заголовками пакетов протокола MBAPI |
ping_info.hpp | Описания mbapi-пакета для переодических ping-ов |
req_info.hpp | Базовые классы и определения для поддержки binSOP |
send_msg_info.hpp | Описания mbapi-пакета для отправки сообщений |
sync_tables_info.hpp | Описания mbapi-пакета для синхронизации таблиц точек |
so_5 | |
api | |
h | |
api.hpp | Набор функции для удобного запуска SObjectizer |
disp | |
active_group | |
h | |
pub.hpp | Функция для создания диспетчера активных групп |
impl | |
h | |
disp.hpp | Реальный класс диспетчера активных групп |
disp_binder.hpp | Интерфейс привязки агента к диспетчеру active_group |
active_obj | |
h | |
pub.hpp | Функция для создания диспетчера активных агетов |
impl | |
h | |
disp.hpp | Реальный класс диспетчера акитвных объектов |
disp_binder.hpp | Интерфейс привязки агента к диспетчеру active_obj |
one_thread | |
h | |
pub.hpp | Функция для создания диспетчера с одной рабочей нитью |
impl | |
h | |
disp.hpp | Реальный класс диспетчера с одной рабочей нитью |
disp_binder.hpp | Интерфейс привязки агента к диспетчеру one_thread |
reuse | |
work_thread | |
h | |
work_thread.hpp | Рабочая нить |
h | |
exception.hpp | Класс исключений SObjectizer |
log_err.hpp | Вспомогательные макросы |
ret_code.hpp | Коды ошибок |
throwing_strategy.hpp | Флаги, которые определяют, как реагировать на ошибки |
types.hpp | Различные псевдонимы типов |
rt | |
h | |
agent.hpp | Базовый класс для агентов |
agent_coop.hpp | Среда исполнения so_5 |
agent_ref.hpp | Класс ссылка на агента |
agent_state_listener.hpp | Базовый класс слушателя состояний агента |
atomic_refcounted.hpp | Базовый класс объекта с подсчетом ссылок |
coop_listener.hpp | Инерфейс слущателя коопераций |
disp.hpp | Интерфейс диспетчера - dispatcher_t |
disp_binder.hpp | Интерфейс привязки агента к диспетчеру, и его стандартная реализация |
event_caller_block.hpp | Класс, который представляет массив вызывателей сообщения |
event_caller_block_ref.hpp | Ссылка на event_caller_block_t |
event_data.hpp | Шаблонный класс event_data_t |
event_exception_handler.hpp | Интерфейс обработчика исключений, которые могут выбрасываться в ходе выполнения событий |
event_exception_logger.hpp | Класс event_exception_logger_t |
event_handler_caller.hpp | Базовый класс для вызова метода обработчика у агента и шаблон, который обеспечивает конкретные экземпляры объекта |
event_handler_caller_ref.hpp | Класс ссылка на event_handler_caller_t |
mbox.hpp | Класс mbox_t |
mbox_ref.hpp | Класс ссылка на mbox |
message.hpp | Базовый класс для сообщений |
message_ref.hpp | Класс ссылка на message |
nonempty_name.hpp | Класс nonempty_name_t |
rt.hpp | Заголовочные файлы для SO Runtime |
so_environment.hpp | Среда исполнения so_5 |
so_layer.hpp | Интерфейс слоя SObjectizer |
state.hpp | Класс для определения состояний |
subscription_bind.hpp | Шаблонный класс для подписки агентов на сообщения |
subscription_key.hpp | Ключ подписки у mbox |
type_wrapper.hpp | Обертка на std::type_info |
impl | |
coop_dereg | |
h | |
coop_dereg_executor_thread.hpp | Очередь заявок на дерегистрацию коопераций |
dereg_demand_queue.hpp | Очередь заявок на дерегистрацию коопераций |
h | |
agent_core.hpp | Класс для обеспечения агентов и их коопераций мьютексами |
cmp_method_ptr.hpp | Функция для сравнения указателей на методы обработчики событий |
disp_core.hpp | Класс для обеспечения работы с диспетчерами |
layer_core.hpp | Класс для обеспечения работы со слоями |
local_event_queue.hpp | Класс локальная очередь событий агента |
local_mbox.hpp | Реализация анонимного mbox-а |
mbox_core.hpp | Класс, для обеспечения mbox-ов мьютексами и хранения именованных mbox-ов в словаре |
message_consumer_chain.hpp | Класс цепочки потребителей сообщения |
message_consumer_link.hpp | Интерфейсный класс для звена цепи потребителей сообщения |
message_distributor.hpp | Класс, который распределяет сообщения их потребителям |
named_local_mbox.hpp | Реализация именованного mbox-а |
so_environment_impl.hpp | Реализация среды исполнения so_5 |
state_listener_controller.hpp | Контроллер слушателей состояния агента |
void_dispatcher.hpp | Реализация интерфейс диспетчера - so_5::rt::dispatcher_t, которая ничего не делает. Объект данного класс подставляется всем агентам в качестве начального диспетчера, до того, как они будут привязаны к реальному диспетчеру |
timer_thread | |
ace_timer_queue_adapter | |
h | |
pub.hpp | Средства для создания экземпляра таймерной нити |
impl | |
h | |
event_handler.hpp | Обработчик таймерных событий |
timer_thread.hpp | Реализация таймерной нити на основе ACE_Thread_Timer_Queue_Adapter |
h | |
timer_act.hpp | Таймерное событие |
timer_id.hpp | Ссылка на сообщение |
timer_thread.hpp | Интерфейс timer_thread_t |
util | |
h | |
apply_throwing_strategy.hpp | Функция для возвращения ошибки |
mutex_pool.hpp | Класс, для обеспечения пула мьютексов |
so_5_transport | |
ace | |
h | |
ace_hash_adaptation.hpp | Адаптация ACE_Hash под различные типы |
reactors.hpp | Публичный интерфейс средств управления реакторами |
h | |
a_channel_base.hpp | Базовый класс агента взаимодйствующего с каналом |
a_client_base.hpp | Базовый класс агента выполняющего роль клиента |
a_server_base.hpp | Базовый класс агента выполняющего роль сервера |
a_transport_agent.hpp | Транспортные агенты: серверный и клиентский |
channel_controller.hpp | Интерфейс контроллера транспортного канала |
channel_io.hpp | Создатель потоков канала |
channel_params.hpp | Параметры транспортного канала |
channel_stream.hpp | Класс для оперирования потоком буфферов |
ifaces.hpp | Основные интерфейсы транспортного слоя SObjectizer |
io_trx.hpp | Класс для облегчения IO транзакций c каналом |
messages.hpp | Служебные сообщения транспортного слоя |
raw_block.hpp | Класс блока данных |
reactor_layer.hpp | Слой для работы с реакторами |
ret_code.hpp | Коды ошибок транспортного слоя |
scattered_block_stream.hpp | Класс для оперирования потоком буфферов |
socket | |
h | |
pub.hpp | Поддержка транспортного уровня посредством сокетов |
impl | |
h | |
acceptor.hpp | Специализированная реализация ACE_Acceptor, расчитанная на использование в паре с svc_handler |
acceptor_controller.hpp | Реализация acceptor_controller для сокетов |
channel_controller_impl.hpp | Контроллер канала |
connector_controller.hpp | Реализация connector_controller для сокетов |
io_timestamps.hpp | Временные отметки чтения/записи |
svc_handler.hpp | Обобщенная реализация Svc_Handler |
svc_handler.cpp | Реализация Svc_Handler |
so_log_2 | |
h | |
backend_15min.hpp | Реализация ACE_Log_Msg_Backend для логирования 15-минутных файлов |
backend_24h.hpp | Реализация ACE_Log_Msg_Backend, которая выполняет сохранение сообщений в суточных файлах |
backend_null.hpp | Реализация ACE_Log_Msg_Backend для игнорирования логирования |
backend_timed_base.hpp | Базовый класс для реализаций ACE_Log_Msg_Backend, которые выполняет сохранение сообщений в файлах в зависимости от времени |
chained_backend.hpp | Цепочный backend |
declspec.hpp | Макросы экспорта-импорта |
event_exception_logger.hpp | Класс event_exception_logger_t |
pub.hpp | Вспомогательные классы и макросы для логирования |
impl | |
h | |
utils.hpp | Вспомогательные инструменты |
utils.cpp | Вспомогательные инструменты |
backend_15min.cpp | Реализация ACE_Log_Msg_Backend для логирования 15-минутных файлов |
backend_24h.cpp | Реализация ACE_Log_Msg_Backend, которая выполняет сохранение сообщений в суточных файлах |
backend_null.cpp | Реализация ACE_Log_Msg_Backend для игнорирования логирования |
backend_timed_base.cpp | Базовый класс для реализаций ACE_Log_Msg_Backend, которые выполняет сохранение сообщений в файлах в зависимости от времени |
chained_backend.cpp | Цепочный backend |
event_exception_logger.cpp | Класс event_exception_logger_t |
pub.cpp | Вспомогательные классы и макросы для логирования |
so_sysconf_4 | |
h | |
breakflag.hpp | Функции управления флагом прерывания приложения |
coop_factory.hpp | Класс фабрики коопераций |
coop_handler.hpp | Класс регистратора коопераций |
coop_registration_result.hpp | Класс, описывающий результат регистрации кооперации |
declspec.hpp | Макросы экспорта/импорта классов и функций |
descriptor_function.hpp | Определения типов и макросы для функции описания модуля |
event_shutdown_subscriber.hpp | Вспомогательный класс-интерфейс для выполнения подписки агента на сообщения средствами слоя so_sysconf_4 |
layer_addition_result.hpp | Класс, описывающий результат регистрации кооперации |
layer_handler.hpp | Класс регистратора новых слоев в so_5 |
messages.hpp | Классы сообщений, используемых в so_sysconf_4 |
meta_action.hpp | Базовый класс для мета-действий |
module_description.hpp | Интерфейс описания модуля so_sysconf_4 |
named_event.hpp | Класс именнованного события |
namespaces.hpp | Описания пространства имен для doxygen |
ostream_sysconf_logger.hpp | Класс журнализатора событий SO SysConf 4 в std::ostream |
pub.hpp | Открытый интерфейс SO SysConf 4. Подключает файлы с описанием классов для работы с SO SysConf 4 |
sysconf_coop_listener.hpp | Реализация слушателя коопераций so_5. Необходим для осуществления двухступенчатой дерегистрации коопераций |
sysconf_layer.hpp | Класс слоя so_sysconf_4, подключаемого в so_5 |
sysconf_logger.hpp | Базовый класс журнализатора событий SO SysConf 4 |
impl | |
h | |
coop_factory_register.hpp | Вспомогательный класс для работы с coop_factory. Содержит описания coop_factory_register_t, и умной ссылки по этому классу - ref_coop_factory_register_t |
coop_handler_register.hpp | Вспомогательный класс для работы с coop_handler-ми Содержит описания coop_handler_register_t, и умной ссылки по этому классу - ref_coop_handler_register_t |
coop_registrator_action.hpp | Классы для выполнения действий над регистраторами активных коопераций |
dll.hpp | Системно-независимый класс для работы с DLL. Содержит сам класс (dll_t) и smart_ref на него (ref_dll_t) |
layer_handler_register.hpp | Вспомогательный класс для работы с layer_handler-ми Содержит описания layer_handler_register_t, и умной ссылки по этому классу - ref_layer_handler_register_t |
main_sysconf_logger.hpp | Класс основного журнализатора so_sysconf_4 |
plain_event.hpp | Класс событие |
processor_thread.hpp | Класс нити обработки задач |
sysconf_layer_impl.hpp | Реализация слоя so_sysconf_4 |
task_processor.hpp | Класс обработчик задач подсистемы SO SysConf 4 |
task_queue.hpp | Класс очереди задач |
tasks.hpp | Классы задач для task_processor_t |
script | |
h | |
pub.hpp | Работа с файлом скрипта SO Sysconf 4 |
tags.hpp | Тэги скриптового файла |
pub.cpp | Работа с файлом скрипта SO Sysconf 4 |
tags.cpp | Тэги скриптового файла |
coop_factory_register.cpp | Вспомогательный класс для работы с coop_factory Содержит описания coop_factory_register_t, и умной ссылки по этому классу - ref_coop_factory_register_t |
coop_handler_register.cpp | Вспомогательный класс для работы с coop_handler-ми Содержит описания coop_handler_register_t, и умной ссылки по этому классу - ref_coop_handler_register_t |
coop_registrator_action.cpp | Классы для выполнения действий над регистраторами активных коопераций |
dll.cpp | Системно-независимый класс для работы с DLL |
layer_handler_register.cpp | Вспомогательный класс для работы с layer_handler-ми Содержит описания layer_handler_register_t, и умной ссылки по этому классу - ref_layer_handler_register_t |
main_sysconf_logger.cpp | Класс основного журнализатора so_sysconf_4 |
plain_event.cpp | Класс событие |
processor_thread.cpp | Класс нити обработки задач |
sysconf_layer_impl.cpp | Реализация слоя so_sysconf_4 |
task_processor.cpp | Класс обработчик задач подсистемы SO SysConf 4 |
task_queue.cpp | Класс очереди задач |
tasks.cpp | Классы задач для task_processor_t |
breakflag.cpp | Функции управления флагом прерывания приложения |
coop_factory.cpp | Класс фабрики коопераций |
coop_handler.cpp | Класс регистратора коопераций |
coop_registration_result.cpp | Класс описывающий результат регистрации кооперации |
descriptor_function.cpp | Определения типов и макросы для функции описания модуля |
event_shutdown_subscriber.cpp | Вспомогательный класс-интерфейс для выполнения подписки агента на сообщения средствами слоя so_sysconf_4 |
layer_addition_result.cpp | Класс описывающий результат добавления слоя |
layer_handler.cpp | Класс регистратора слоев |
meta_action.cpp | Базовый класс для мета-действий |
module_description.cpp | реализация описания модуля для so_sysconf_4 |
named_event.cpp | Класс интерфейс именнованного события и его стандартная реализация |
ostream_sysconf_logger.cpp | Класс журнализатора событий SO SysConf 4 в std::ostream |
sysconf_coop_listener.cpp | Реализация слушателя коопераций so_5. Необходим для осуществления двухступенчатой дерегистрации коопераций |
sysconf_info.cpp | Сериализуемые сообщения о состоянии SO Sysconf 4 |
sysconf_layer.cpp | Класс слоя so_sysconf_4, подключаемого в so_5 |
sysconf_logger.cpp | Базовый класс журнализатора событий SO SysConf 4 |
so_sysconf_4_cls_name_resolver | |
h | |
pub.hpp | Класс, который выполняет преобразование имени файла с учетом значений app_paths |
pub.cpp | Класс, который выполняет преобразование имени файла с учетом значений app_paths |
so_sysconf_breakflag_handler | |
h | |
a_handler.hpp | Агент для обработки прерывания приложения |
coop_handler.hpp | Сооздатель коопераций user_break_handler, system_break_handler |
a_handler.cpp | Агент для обработки прерывания приложения |
coop_handler.cpp | Сооздатель коопераций user_break_handler, system_break_handler |
module_description.cpp | Описание модуля breaflag |
so_sysconf_channel_common | |
h | |
channel_params.hpp | Вспомогательные классы для работы с параметрами транспортного слоя so_5 |
dispatcher.hpp | Вспомогательные классы тегов для работы с параметрами агентов mbapi_4 |
handshaking_params.hpp | Вспомогательные классы тегов для работы с параметрами агентов mbapi_4 |
channel_params.cpp | Вспомогательные классы для работы с параметрами транспортного слоя so_5 |
dispatcher.cpp | Вспомогательные классы тегов для работы с параметрами агентов mbapi_4 |
handshaking_params.cpp | Вспомогательные классы тегов для работы с параметрами агентов mbapi_4 |
so_sysconf_daemon | |
h | |
app_logic.hpp | Интерфейс библиотеки, реализующей логику приложения so_sysconf_4_daemon |
args.hpp | Средства для работы с аргументами командной строки so_sysconf_daemon-а |
app_logic.cpp | Интерфейс библиотеки, реализующей логику приложения so_sysconf_4_daemon |
main.cpp | Универсальный запускатель sysconf-демонов |
so_sysconf_log_3 | |
backend_keeper | |
h | |
a_backend_keeper.hpp | Агент который устанавливает заданный backend в ACE_Log |
declspec.hpp | Макросы экспорта-импорта |
a_backend_keeper.cpp | Агент который устанавливает заданный backend в ACE_Log |
error_msg_extractor | |
h | |
cfg.hpp | Конфигурация для кооперации so_sysconf_log_3::error_msg_extractor |
coop_factory.hpp | Регистратор кооперации so_sysconf_log_3::error_msg_extractor |
error_msg_extractor_filter.hpp | Фильтр логгера, для определения сообщений, которые нужно логировать отдельно |
cfg.cpp | Конфигурация для кооперации so_sysconf_log_3::error_msg_extractor |
coop_factory.cpp | Регистратор кооперации so_sysconf_log_3::error_msg_extractor |
error_msg_extractor_filter.cpp | Фильтр логгера, для определения сообщений, которые нужно логировать отдельно |
h | |
declspec.hpp | Макросы экспорта/импорта |
pub.hpp | Реализация интерфейса so_sysconf_4::sysconf_logger_t |
hard_error_detector | |
h | |
cfg.hpp | Конфигурация для кооперации so_sysconf_log_3::hard_error_detector |
coop_handler.hpp | Сооздатель кооперации so_sysconf_log_3::hard_error_detector |
hard_error_detector_backend.hpp | Backend логгера, для определения сообщений о непоправимых ошибках |
cfg.cpp | Конфигурация для кооперации so_sysconf_log_3::hard_error_detector |
coop_handler.cpp | Сооздатель кооперации so_sysconf_log_3::hard_error_detector |
hard_error_detector_backend.cpp | Backend логгера, для определения сообщений о непоправимых ошибках |
sysconf | |
h | |
cfg.hpp | Конфигурация для кооперации so_sysconf_log_3::sysconf::log |
coop_handler.hpp | Сооздатель кооперации so_sysconf_log_3 |
declspec.hpp | Макросы экспорта-импорта |
cfg.cpp | Конфигурация для кооперации so_sysconf_log_3::sysconf::log |
coop_handler.cpp | Сооздатель кооперации so_sysconf_log_3 |
module_description.cpp | Описание модуля для регистрации средств so_log_2 в системе so_sysconf_4 |
pub.cpp | Реализация интерфейса so_sysconf_4::sysconf_logger_t |
so_sysconf_mbapi_ichannel | |
h | |
cfg.hpp | Вся конфигурация компоненты ichannel |
coop_factory.hpp | Фабрика кооперации точки входа в приложение |
cfg.cpp | Вся конфигурация компоненты ichannel |
coop_factory.cpp | Фабрика кооперации точки входа в приложение |
module_description.cpp | Описание модуля ichannel для SO SysConf 4 |
so_sysconf_mbapi_layer | |
h | |
layer_handler.hpp | Регистратор слоя mbapi_4 |
layer_handler.cpp | Регистратор слоя mbapi_4 |
module_description.cpp | Модуль для добавления слоя mbapi_4 в SO |
so_sysconf_mbapi_ochannel | |
h | |
cfg.hpp | Конфигурация для кооперации so_sysconf_ochannel |
coop_factory.hpp | Фабрика коопераций ochannel-ов |
cfg.cpp | Конфигурация для кооперации so_sysconf_ochannel |
coop_factory.cpp | Фабрика коопераций ochannel-ов |
module_description.cpp | Описание модуля ochannel для SO SysConf 4 |
so_sysconf_ntservice | |
h | |
app_logic.hpp | Интерфейс библиотеки, которая реализует логику приложения so_sysconf_ntservice |
ntservice.hpp | Класс для выполнения роли сервиса |
sobjectizer_task.hpp | Класс задачи, на контексте которой будет выполняться запуск SObjectizer-а |
sysconf_errors_logger.hpp | Реализация логгера событий so_sysconf-а, который помещает сообщения об ошибках в журнал ACE |
app_logic.cpp | Интерфейс библиотеки, которая реализует логику приложения so_sysconf_ntservice |
main.cpp | Универсальный запускатель sysconf-процессов в виде NT сервисов |
ntservice.cpp | Класс для выполнения роли сервиса |
sobjectizer_task.cpp | Класс задачи, на контексте которой будет выполняться запуск SObjectizer-а |
sysconf_errors_logger.cpp | Реализация логгера событий so_sysconf-а, который помещает сообщения об ошибках в журнал ACE |
so_sysconf_process | |
h | |
app_logic.hpp | Интерфейс библиотеки, реализующей логику приложения so_sysconf_4_process |
args.hpp | Средства для работы с аргументами командной строки so_sysconf_process-а |
app_logic.cpp | Интерфейс библиотеки, реализующей логику приложения so_sysconf_4_process |
main.cpp | Универсальный загрузчик sysconf-процессов |
so_sysconf_single_instance | |
h | |
a_single_instance.hpp | Агент, производящий проверку запуска своей единственной копии |
cfg.hpp | Конфигурация кооперации single_instance для so_sysconf'a |
single_instance_handler.hpp | Регистратор кооперации на основе конфигурационного файла |
a_single_instance.cpp | Агент, производящий проверку запуска своей единственной копии |
cfg.cpp | Конфигурация кооперации single_instance для so_sysconf'a |
module_description.cpp | Описания модуля single_instance для so_sysconf_4 |
single_instance_handler.cpp | Регистратор кооперации на основе конфигурационного файла |
so_sysconf_so_transport_layer | |
h | |
layer_handler.hpp | Регистратор слоя so_transport |
layer_handler.cpp | Регистратор слоя so_transport |
module_description.cpp | Модуль для добавления слоя so_transport в SO |