Структура so_4::transport_layer::msg_channel_created

Полный список членов класса


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

Сообщение об успешном создании транспортного канала.

Начиная с:
v.4.4.0-b4 Отсылается объектом-connector-ом или объектом-acceptor-ом при успешном установлении соединения с удаленной стороной.
Транспортные агенты должны использовать typedef для объявления типа данного сообщения:
 class a_client_channel_t : public so_4::rt::agent_t
   {
   public :
     typedef so_4::transport_layer::msg_channel_created msg_channel_created;
     ...
   };

Заметки:
Данное сообщение должно отсылаться целенаправленно транспортному агенту. В случае широковещательной рассылки возможна ситуация, когда сообщение будет получено не транспортным агентом и получатель сообщения обнулит поле m_controller.

Открытые члены

 msg_channel_created ()
 msg_channel_created (const channel_id_t &id, channel_controller_auto_ptr_t controller)

Открытые статические члены

static bool check (const msg_channel_created *msg)
static so_4::ret_code_t send (const std::string &agent_name, const channel_id_t &id, channel_controller_auto_ptr_t controller)

Открытые атрибуты

channel_id_t m_id
 Идентификатор данного канала.
channel_controller_auto_ptr_t m_controller
 Управляющий объект для канала.

Конструктор(ы)

so_4::transport_layer::msg_channel_created::msg_channel_created (  ) 

Конструктор по умолчанию обнуляет все поля.

Заметки:
Сообщение без корректного m_controller считается недействительным.

Используется в send().

so_4::transport_layer::msg_channel_created::msg_channel_created ( const channel_id_t id,
channel_controller_auto_ptr_t  controller 
)

Инициализирующий конструктор выставляет указанные значения полей.

Заметки:
Владение объектом controller передается экземпляру сообщения.


Методы

bool so_4::transport_layer::msg_channel_created::check ( const msg_channel_created msg  )  [static]

Объявляет сообщение некорректным, если msg равен 0 или m_controller равен 0.

Перекрестные ссылки m_controller.

so_4::ret_code_t so_4::transport_layer::msg_channel_created::send ( const std::string &  agent_name,
const channel_id_t id,
channel_controller_auto_ptr_t  controller 
) [static]

Создает и отсылает экземпляр сообщения целенаправлено указанному агенту. При этом считается, что данный агент так же является и владельцем сообщения.

Аргументы:
agent_name  Получатель и владелец сообщения.
id  Идентификатор канала.
controller  Управляющий интерфейс для канала.

Перекрестные ссылки msg_channel_created() и so_4::api::send_msg_safely().

Используется в so_4::transport_layer::std_channel_owner_notificator_t::on_success().


Данные класса

Управляющий объект для канала.

С его помощью транспортный агент сможет управлять созданным каналом. Если транспортный агент не сохранит данный объект у себя (путем копирования auto_ptr-ов), то канал будет автоматически закрыт при уничтожении экземпляра данного сообщения.

Используется в check() и so_4::rt::comm::a_channel_processor_base_t::evt_channel_created().


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