Класс so_4::rt::comm::impl::channels_filters_t

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

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

каналов и фильтров.

Начиная с:
v.4.2.3
v.4.2.7
Введено понятие "отложенного" фильтра. Такой фильтр устанавливается методом insert, если параметр is_delayed равен true. Когда для канала установлен отложенный фильтр, то считается, что "боевого" фильтра для канала нет. Т.е. методы find_all_channels_for(), is_channel_enabled_for(), find_filter_for() будут игнорировать отложенный фильтр. Метод swith_delayed_filter позволяет установить отложенный фильтр в качестве боевого. Задача отложенного фильтра: хранение реального фильтра канала до тех пор, пока не будет завершена процедура handshake.


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

void clear ()
 Очистка всего содержимого хранилища.
void insert (const so_4::rt::comm_channel_t &chn, const so_4::sop::filter_t &filter, bool is_delayed)
 Добавление очередного фильтра.
void erase (const so_4::rt::comm_channel_t &chn)
 Удаление канала и его фильтра из хранилища.
void find_all_channels_for (const std::string &agent_name, channel_set_t &channels) const
 обработку сообщений указанного глобального агента.
bool is_channel_enabled_for (const so_4::rt::comm_channel_t &chn, const std::string &agent_name) const
 указанного глобального агента.
const so_4::sop::filter_tfind_filter_for (const so_4::rt::comm_channel_t &chn) const
 Найти фильтр для указанного канала.
const so_4::sop::filter_tswitch_to_delayed_filter (const so_4::rt::comm_channel_t &chn)
 указанного канала.

Закрытые типы

typedef std::map< so_4::rt::comm_channel_t,
so_4::sop::filter_shptr_t
channels_filters_map_t
 Тип карты каналов и фильтров.

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

channels_filters_map_t m_map
 Карта каналов и их боевых фильтров.
channels_filters_map_t m_delayed
 Карта каналов и их отложенных фильтров.


Методы

void so_4::rt::comm::impl::channels_filters_t::find_all_channels_for const std::string &  agent_name,
channel_set_t channels
const
 

обработку сообщений указанного глобального агента.

Аргументы:
agent_name  Имя глобального агента.
channels  Результирующий список каналов. Предыдущее содержимое не уничтожается.

const so_4::sop::filter_t * so_4::rt::comm::impl::channels_filters_t::find_filter_for const so_4::rt::comm_channel_t &  chn  )  const
 

Найти фильтр для указанного канала.

Возвращает:
0, если канал не известен.
Аргументы:
chn  Коммуникационный канал, чей фильтр ищется.

void so_4::rt::comm::impl::channels_filters_t::insert const so_4::rt::comm_channel_t &  chn,
const so_4::sop::filter_t filter,
bool  is_delayed
 

Добавление очередного фильтра.

Аргументы:
chn  Коммуникационный канал, которому назначается фильтр.
filter  Фильтр, чья копия будет сохранена в хранилище. Копия будет получена посредством метода so_4::sop::filter_t::clone().
is_delayed  Должен ли фильтр быть "отложенным".

bool so_4::rt::comm::impl::channels_filters_t::is_channel_enabled_for const so_4::rt::comm_channel_t &  chn,
const std::string &  agent_name
const
 

указанного глобального агента.

Аргументы:
chn  Проверяемый канал.
agent_name  Имя глобального агента.

const so_4::sop::filter_t * so_4::rt::comm::impl::channels_filters_t::switch_to_delayed_filter const so_4::rt::comm_channel_t &  chn  ) 
 

указанного канала.

Начиная с:
v.4.2.7
Если для канала нет отложенного фильтра, то ничего не выполняется.

Возвращает:
0, если для канала не было отложенного фильтра. Указатель на отложенный фильтр, который установлен для канала в качестве боевого, в противном случае.
Аргументы:
chn  Коммуникационный канал, для которого ищется фильтр.


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

channels_filters_map_t so_4::rt::comm::impl::channels_filters_t::m_delayed [private]
 

Карта каналов и их отложенных фильтров.

Начиная с:
v.4.2.7


Документация по SObjectizer. Последние изменения: Thu Jan 12 10:52:52 2006. Создано системой  doxygen 1.4.6-NO
Hosted by uCoz