Пространство имен so_4::rt::comm


Подробное описание

Коммуникационные средства SObjectizer.


Классы

class  msg_fld_to_send_msg_t
class  msg_subscriber_t
class  no_op_disconnect_handler_t
 Реализация интерфейса disconnect_handler, которая ничего не делает. Подробнее...
class  def_disconnect_handler_t
 Штатная реализация disconnect_handler. Подробнее...
class  a_channel_processor_base_t
 Базовый класс агента, для объединения функциональности по обслуживанию каналов ввода-вывода. Подробнее...
class  a_communicator_t
 Основной агент для реализации поддержки SOP. Подробнее...
struct  msg_sop_package
 Расшифровать SOP-пакет. Подробнее...
struct  msg_raw_package
 Обработать входящие данные из raw соединения. Подробнее...
struct  msg_send_package
 Команда на отправку пакета в коммуникационный канал. Подробнее...
struct  msg_client_connected
 Уведомление о появлении нового коммуникационного канала. Подробнее...
struct  msg_client_disconnected
 Уведомление о закрытии коммуникационного канала. Подробнее...
struct  msg_channel_destroyed
 Уведомление о разрушении коммуникационного канала. Подробнее...
struct  msg_set_filter
 Сообщение на установление фильтра для канала. Подробнее...
struct  msg_close_channel
 Команда на принудительное закрытие канала. Подробнее...
struct  msg_unblock_channel
 Указание разблокировать канал после превышения порога входящего потока. Подробнее...
struct  msg_start_channel_timing
 Необходимо начать отсчет тайм-аутов для канала. Подробнее...
struct  msg_set_channel_transformator
 Установка трансформатора трафика для указанного канала. Подробнее...
struct  msg_set_server_filter
 Установка входящего фильтра для серверного канала. Подробнее...
struct  msg_remove_server_filter
 Изъятие входящего фильтра для серверного канала. Подробнее...
struct  msg_connect
 Сообщения для инициирования внеочередной попытки установления исходящего соединения. Подробнее...
struct  msg_success
 Сообщение об успешном установлении физического соединения. Подробнее...
struct  msg_fail
 Сообщение о неудачной попытке создания физического канала. Подробнее...
struct  msg_sop_client_handshake
 Сообщение о получении из коммуникационного канала запроса handshake. Подробнее...
struct  msg_sop_client_handshake_resp
 Сообщение о получении из коммуникационного канала запроса handshake_resp. Подробнее...
class  a_raw_incoming_channel_processor_t
 Агент входящего RAW-канала, который самостоятельно обслуживает все входящие подключения. Подробнее...
class  a_raw_outgoing_channel_t
 Агент исходящего RAW-канала. Подробнее...
class  a_sop_incoming_channel_processor_t
 Агент входящего SOP-канала, который самостоятельно обслуживает все входящие подключения. Подробнее...
class  a_sop_outgoing_channel_t
 Агент исходящего SOP-канала. Подробнее...
class  disconnect_handler_t
 Обработчик обрывов связи. Подробнее...
class  handshaking_params_t
 Параметры процедуры handshake между SOP-клиентом и SOP-сервером. Подробнее...
class  handshaking_params_holder_t
 Вспомогательный класс для хранения параметров процедуры handshake. Подробнее...
class  raw_data_processor_t
 Реализация интерфейса data_processor, которая преобразует входящие данные в сообщения msg_raw_package. Подробнее...
class  simple_sop_data_processor_t
 Реализация интерфейса data_processor, которая поддерживает обрамление трафика с помощью заголовков SOP-пакетов. Подробнее...
class  sop_with_transformation_data_processor_t
 Реализация интерфейса data_processor, которая поддерживает обрамление трафика с помощью заголовков SOP-пакетов и дополнительного трансформатора трафика. Подробнее...
class  traffic_transformator_t
 Интерфейс трансформатора коммуникационного трафика. Подробнее...
class  zlib_transformator_t
 Реализация трансформатора SOP трафика с использованием zlib. Подробнее...

Пространства имен

namespace  channels_impl
 Детали реализации понятия коммуникационных каналов.
namespace  impl
 Детали реализации.
namespace  zlib_transformator
 Детали реализации zlib-трансформатора.

Определения типов

typedef std::auto_ptr
< disconnect_handler_t
disconnect_handler_auto_ptr_t
 Псевдоним auto_ptr для disconnect_handler_t.
typedef std::auto_ptr
< traffic_transformator_t
traffic_transformator_auto_ptr_t
 Псевдоним auto_ptr для traffic_transformator.

Функции

 SOL4_MSG_START (msg_channel_created, so_4::rt::comm::a_channel_processor_base_t::msg_channel_created) SOL4_MSG_CHECKER(a_channel_processor_base_t
static void create_send_msg_info (const event_data_t &data, so_4::sop::req_info_storage_t &reqs)
 Создание SOP-запроса send-msg.
static void channel_closer (const so_4::rt::comm_channel_t &channel)
 Предикат для std::for_each.
 SOL4_MSG_START (msg_sop_package, so_4::rt::comm::msg_sop_package) SOL4_MSG_START(msg_send_package
so_4::rt::comm::msg_send_package SOL4_MSG_START (msg_client_connected, so_4::rt::comm::msg_client_connected) SOL4_MSG_START(msg_client_disconnected
so_4::rt::comm::msg_send_package
so_4::rt::comm::msg_client_disconnected 
SOL4_MSG_START (msg_channel_destroyed, so_4::rt::comm::msg_channel_destroyed) SOL4_MSG_START(msg_set_filter
so_4::rt::comm::msg_send_package
so_4::rt::comm::msg_client_disconnected
so_4::rt::comm::msg_set_filter 
SOL4_MSG_START (msg_close_channel, so_4::rt::comm::msg_close_channel) SOL4_MSG_START(msg_check_no_activity_time
so_4::rt::comm::msg_send_package
so_4::rt::comm::msg_client_disconnected
so_4::rt::comm::msg_set_filter
so_4::rt::comm::a_communicator_t::msg_check_no_activity_time 
SOL4_MSG_START (msg_unblock_channel, so_4::rt::comm::msg_unblock_channel) SOL4_MSG_START(msg_start_channel_timing
so_4::rt::comm::msg_send_package
so_4::rt::comm::msg_client_disconnected
so_4::rt::comm::msg_set_filter
so_4::rt::comm::a_communicator_t::msg_check_no_activity_time
so_4::rt::comm::msg_start_channel_timing 
SOL4_MSG_START (msg_set_server_filter, so_4::rt::comm::msg_set_server_filter) SOL4_MSG_START(msg_remove_server_filter
so_4::rt::comm::msg_send_package
so_4::rt::comm::msg_client_disconnected
so_4::rt::comm::msg_set_filter
so_4::rt::comm::a_communicator_t::msg_check_no_activity_time
so_4::rt::comm::msg_start_channel_timing
so_4::rt::comm::msg_remove_server_filter 
SOL4_EVENT_WITH_INCIDENT_TYPE (evt_sop_package, so_4::rt::comm::msg_sop_package) SOL4_EVENT_WITH_FACTORY(evt_global_agent_msg
so_4::rt::comm::msg_send_package
so_4::rt::comm::msg_client_disconnected
so_4::rt::comm::msg_set_filter
so_4::rt::comm::a_communicator_t::msg_check_no_activity_time
so_4::rt::comm::msg_start_channel_timing
so_4::rt::comm::msg_remove_server_filter
so_4::rt::impl::retranslator_evt_factory 
SOL4_EVENT_WITH_INCIDENT_TYPE (evt_set_filter, so_4::rt::comm::msg_set_filter) SOL4_EVENT_STC(evt_channel_destroyed
so_4::rt::comm::msg_send_package
so_4::rt::comm::msg_client_disconnected
so_4::rt::comm::msg_set_filter
so_4::rt::comm::a_communicator_t::msg_check_no_activity_time
so_4::rt::comm::msg_start_channel_timing
so_4::rt::comm::msg_remove_server_filter
so_4::rt::impl::retranslator_evt_factory
so_4::rt::comm::msg_channel_destroyed 
SOL4_EVENT_STC (evt_client_connected, so_4::rt::comm::msg_client_connected) SOL4_EVENT_WITH_INCIDENT_TYPE(evt_check_no_activity_time
so_4::rt::comm::msg_send_package
so_4::rt::comm::msg_client_disconnected
so_4::rt::comm::msg_set_filter
so_4::rt::comm::a_communicator_t::msg_check_no_activity_time
so_4::rt::comm::msg_start_channel_timing
so_4::rt::comm::msg_remove_server_filter
so_4::rt::impl::retranslator_evt_factory
so_4::rt::comm::msg_channel_destroyed
so_4::rt::comm::a_communicator_t::msg_check_no_activity_time 
SOL4_EVENT_WITH_INCIDENT_TYPE (evt_start_channel_timing, so_4::rt::comm::msg_start_channel_timing) SOL4_EVENT_STC(evt_set_server_filter
const std::string & communicator_agent_name ()
 Реальное имя агента a_communicator.
 SOL4_MSG_START (msg_channel_failed, so_4::rt::comm::a_raw_outgoing_channel_t::msg_channel_failed) SOL4_MSG_CHECKER(a_raw_outgoing_channel_t
 SOL4_MSG_START (msg_sop_client_handshake, so_4::rt::comm::msg_sop_client_handshake) SOL4_EVENT_STC(evt_sop_client_handshake
disconnect_handler_auto_ptr_t create_no_op_disconnect_handler ()
 Возвращает реализацию интерфейса disconnect_handler, которая ничего не делает.
disconnect_handler_auto_ptr_t create_def_disconnect_handler (unsigned int reconnect_timeout,unsigned int restore_timeout)
 Создание штатного обработчика разрыва связи.


Типы

Псевдоним auto_ptr для disconnect_handler_t.

Начиная с:
v.4.4.0-b4
Примеры:
sample/raw_channel/tcp_cln.cpp.

Псевдоним auto_ptr для traffic_transformator.

Начиная с:
v.4.4.0-b5


Функции

static void so_4::rt::comm::channel_closer ( const so_4::rt::comm_channel_t channel  )  [static]

Предикат для std::for_each.

Отсылает транспортным агентам, обслуживающим указанный коммуникационный канал сообщение msg_close_channel.

Перекрестные ссылки so_4::rt::comm_channel_t::comm_agent(), communicator_agent_name() и so_4::rt::msg_auto_ptr_t< Msg >::send().

Используется в so_4::rt::comm::a_communicator_t::evt_check_no_activity_time().

const std::string & so_4::rt::comm::communicator_agent_name (  ) 

disconnect_handler_auto_ptr_t so_4::rt::comm::create_def_disconnect_handler ( unsigned int  reconnect_timeout,
unsigned int  restore_timeout 
)

Создание штатного обработчика разрыва связи.

Начиная с:
v.4.4.0-b4 Данная реализация в методе disconnect_handler_t::on_connection_fail() отсылает отложенное сообщение msg_connect используя в качестве задержки значение reconnect_timeout.
В методе disconnect_handler_t::on_connection_lost() отсылается сообщение msg_connect используя в качестве задержки значение restore_timeout.
Аргументы:
reconnect_timeout  Время задержки сообщения a_cln_channel_t::msg_connect, после неудачной попытки установления соединения. В миллисекундах.
restore_timeout  Время задержки сообщения a_cln_channel_t::msg_connect, после разрыва ранее установленного соединения. В миллисекундах.
Примеры:
sample/filter/c1.cpp, sample/filter/c2.cpp и sample/high_traffic/client.cpp.

Перекрестные ссылки so_4::rt::comm::def_disconnect_handler_t::def_disconnect_handler_t().

disconnect_handler_auto_ptr_t so_4::rt::comm::create_no_op_disconnect_handler (  ) 

Возвращает реализацию интерфейса disconnect_handler, которая ничего не делает.

Начиная с:
v.4.4.0-b4 Удобно в случае, когда пользователь не захотел предоставлять disconnect_handler. Тогда вместо хранения нулевого указателя и его проверок проще создать disconnect_handler, который ничего не делает.

static void so_4::rt::comm::create_send_msg_info ( const event_data_t &  data,
so_4::sop::req_info_storage_t reqs 
) [static]

Создание SOP-запроса send-msg.

Занесение в SOP-запрос значений полей реального сообщения. Созданный SOP-запрос помещается в указанное хранилище.

Перекрестные ссылки so_4::rt::event_data_t::agent(), so_4::rt::event_data_t::data(), so_4::rt::event_data_t::msg(), so_4::rt::event_data_t::query_impl(), so_4::rt::impl::event_data_impl_t::query_msg_wrapper(), so_4::rt::impl::event_data_impl_t::query_receiver() и so_4::sop::send_msg_info_t::set_receiver().

Используется в so_4::rt::comm::a_communicator_t::evt_global_agent_msg().


Документация по SObjectizer v.4.4 'Тебуломста'. Последние изменения: Thu Sep 18 10:26:49 2008. Создано системой  doxygen1.5.6 Intervale SourceForge.net Logo