Когда агент-коммуникатор получает SOP-пакет, для канала сохраняется текущее время. Переодически агент-коммуникатор запрашивает два списка:
Открытые члены | |
channels_times_t () | |
Конструктор по-умолчанию. | |
void | refresh_channel_time (const so_4::rt::comm_channel_t &channel) |
Обновить время получения пакета для указанного канала. | |
void | erase (const so_4::rt::comm_channel_t &channel) |
Уничтожить описание уже закрытого канала. | |
void | clear () |
Очистить текущее содержимое. | |
void | find_expired_channels (channel_set_t &channels_to_close, channel_set_t &channels_to_ping) const |
Получение списков каналов, из которых долго ничего не поступало. | |
Закрытые данные | |
std::auto_ptr < channels_times_impl_t > | m_impl |
Детали реализации. |
void so_4::rt::comm::impl::channels_times_t::refresh_channel_time | ( | const so_4::rt::comm_channel_t & | channel | ) |
Обновить время получения пакета для указанного канала.
Если описания этого канала еще не было (первый пакет из канала), то описание канала создается.
В качестве времени берется текущее время.
Перекрестные ссылки m_impl.
void so_4::rt::comm::impl::channels_times_t::erase | ( | const so_4::rt::comm_channel_t & | channel | ) |
Уничтожить описание уже закрытого канала.
channel | Идентификатор закрытого канала. |
Перекрестные ссылки m_impl.
void so_4::rt::comm::impl::channels_times_t::find_expired_channels | ( | channel_set_t & | channels_to_close, | |
channel_set_t & | channels_to_ping | |||
) | const |
Получение списков каналов, из которых долго ничего не поступало.
Время последнего пакета из канала сравнивается с текущим временем.
channels_to_close | Приемник списка каналов, которые должны быть закрыты. |
channels_to_ping | Приемник списка каналов, в которые должен быть отправлен ping-запрос. |
Перекрестные ссылки m_impl.
Документация по SObjectizer v.4.4 'Тебуломста'. Последние изменения: Thu Sep 18 10:26:49 2008. Создано системой 1.5.6 |