Класс so_4::rt::comm_channel_t

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


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

Описание коммуникационного канала.

SObjectizer предоставляет возможность взаимодействия нескольких написанных с использованием SObjectizer-а программ посредством т.н. "коммуникационных каналов".

Каналы могут быть реализованы посредством различных средств коммуникаций (TCP sockets, pipes, mailsots, ...) и протоколов (SOP, XML, ObjESSty, ...). Каждый канал обслуживается своим агентом-"коммуникатором". Ангет-коммуникатор может обслуживать несколько каналов (например, серверный TCP сокет). Каждый такой канал в агенте-коммуникаторе называется клиентом.

Т.е. каждый канал должен однозначно идентифицироваться именем агента-коммуникатора и именем клиента в агенте-коммуникаторе. Хранением этой пары значений занимается класс comm_channel_t.

Среди всех идентификаторов каналов определено два специальных значения: null (не действительный, нулевой идентификатор) и localhost (только run-time одного приложения).

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

 comm_channel_t ()
 Конструктор по-умолчанию.
 comm_channel_t (const std::string &comm_agent, const std::string &client)
 Конструктор для создания отличного от null идентификатора.
 comm_channel_t (const localhost_mark_t &)
 Специальный конструктор для случая, когда comm_channel_t должен означать localhost.
 comm_channel_t (const comm_channel_t &o)
 Конструктор копирования.
comm_channel_toperator= (const comm_channel_t &o)
 Оператор копирования.
void swap (comm_channel_t &o)
 Не бросающая исключений опреация swap.
bool is_null () const
 Является ли идентификатор null-значением?
const std::string & comm_agent () const
 Имя агента-коммуникатора.
const std::string & client () const
 Имя клиента в агенте-коммуникаторе.
bool operator== (const comm_channel_t &o) const
 Оператор равенства.
bool operator!= (const comm_channel_t &o) const
 Оператор не равенства.
bool operator< (const comm_channel_t &o) const
 Оператор "строго меньше".
std::ostream & dump (std::ostream &to) const
 Отобразить идентификатор канала в указанный выходной поток.

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

static const comm_channel_tlocalhost ()
 Получить localhost-идентификатор.

Закрытые данные

std::auto_ptr< std::string > m_comm_agent
 Имя агента-коммуникатора.
std::auto_ptr< std::string > m_client
 Имя клиента в коммуникаторе.
bool m_is_localhost
 Признак того, что канал является localhost.

Классы

struct  localhost_mark_t
 Специальный тип, объекты которого будут использоваться для указания того, что comm_channel_t относится к localhost. Подробнее...


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

so_4::rt::comm_channel_t::comm_channel_t (  ) 

Конструктор по-умолчанию.

Создает null-идентфикатор.

so_4::rt::comm_channel_t::comm_channel_t ( const std::string &  comm_agent,
const std::string &  client 
)

Конструктор для создания отличного от null идентификатора.

Корректность передаваемой в параметрах информации не проверяется.

Аргументы:
comm_agent  Имя агента-коммуникатора.
client  Имя клиента в данном коммуникаторе.

so_4::rt::comm_channel_t::comm_channel_t ( const localhost_mark_t  ) 

Специальный конструктор для случая, когда comm_channel_t должен означать localhost.

Начиная с:
v.4.4.b3


Методы

const std::string & so_4::rt::comm_channel_t::comm_agent (  )  const

const std::string & so_4::rt::comm_channel_t::client (  )  const

bool so_4::rt::comm_channel_t::operator== ( const comm_channel_t o  )  const

Оператор равенства.

Имена агентов-коммуникаторов и клиентов должны быть равны.

Перекрестные ссылки client(), comm_agent() и m_is_localhost.

bool so_4::rt::comm_channel_t::operator!= ( const comm_channel_t o  )  const

Оператор не равенства.

Сравниваются сначала имена агентов-коммуникаторов, затем, если необходимо, имена клиентов.

bool so_4::rt::comm_channel_t::operator< ( const comm_channel_t o  )  const

Оператор "строго меньше".

Сравниваются сначала имена агентов-коммуникаторов, затем, если необходимо, имена клиентов.

Перекрестные ссылки client() и comm_agent().

const comm_channel_t & so_4::rt::comm_channel_t::localhost (  )  [static]

Получить localhost-идентификатор.

Возвращает специальную константу, означающую особый канал - localhost (т.е. только локальный узел).

Используется в so_4::rt::comm::msg_sop_client_handshake_resp::check(), so_4::rt::comm::msg_sop_client_handshake::check(), so_4::rt::comm::msg_success::check(), so_4::rt::comm::msg_unblock_channel::check(), so_4::rt::comm::msg_close_channel::check(), so_4::rt::comm::a_communicator_t::evt_global_agent_msg(), so_4::api::send_delayed_or_periodic_msg() и so_4::api::send_non_delayed_non_periodic_msg().

std::ostream & so_4::rt::comm_channel_t::dump ( std::ostream &  to  )  const

Отобразить идентификатор канала в указанный выходной поток.

Начиная с:
v.4.2.6
Используется формат:
			{<comm_agent> <client>}
			

Возвращает:
Выходной поток to.

Перекрестные ссылки client() и comm_agent().

Используется в so_4::rt::operator<<().


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

std::auto_ptr< std::string > so_4::rt::comm_channel_t::m_comm_agent [private]

Имя агента-коммуникатора.

Сохраняем значение только, если оно задано.

Используется в comm_agent(), is_null() и swap().

std::auto_ptr< std::string > so_4::rt::comm_channel_t::m_client [private]

Имя клиента в коммуникаторе.

Сохраняем значение только, если оно задано.

Используется в client(), is_null() и swap().

Признак того, что канал является localhost.

Начиная с:
v.4.4.b3

Используется в client(), comm_agent(), is_null(), operator==() и swap().


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