Граф наследования:so_4::rt::comm::a_srv_channel_base_t:
Агент a_srv_channel_t в своем событии evt_start создает серверный канал. Далее агент начинает прослушивать созданный канал и обслуживать подключившихся клиентов.
Если создание серверного канала прошло успешно, то рассылается сообщение msg_success. В противном случае рассылается сообщение msg_fail.
Открытые члены | |
a_srv_channel_base_t (const std::string &agent_name, channels_impl::srv_channel_t *impl) | |
Инициализирующий конструктор. | |
virtual const char * | so_query_type () const |
Имя типа агента. | |
virtual void | so_on_subscription () |
virtual void | so_on_deregistration () |
Обработать дерегистрацию агента. | |
virtual void | evt_start (const event_data_t &, const so_4::rt::msg_start *) |
Реакция на появление агента в SObjectizer. | |
void | evt_send_package (const event_data_t &, const so_4::rt::comm::msg_send_package *cmd) |
указанному клиенту. | |
void | evt_do_io (const event_data_t &data, const msg_do_io *) |
ввода-вывода. | |
void | evt_close_channel (const event_data_t &, const so_4::rt::comm::msg_close_channel *cmd) |
указанного канала. | |
void | evt_unblock_channel (const event_data_t &, const so_4::rt::comm::msg_unblock_channel *cmd) |
Необходимо разблокировать канал. | |
void | set_in_threshold (const threshold_t &value) |
новых каналов. | |
const threshold_t & | in_threshold () const |
Получить текущее значения порога входного потока. | |
void | set_out_threshold (const threshold_t &value) |
новых каналов. | |
const threshold_t & | out_threshold () const |
Получить текущее значения порога выходного потока. | |
Защищенные данные | |
auto_ptr_3::obj_ptr_t< channels_impl::srv_channel_t > | m_impl |
Классы | |
struct | msg_do_io |
ввода-вывода. Подробнее... | |
struct | msg_fail |
Сообщение о неудачном создании канала. Подробнее... | |
struct | msg_success |
Сообщение об успешном создании канала. Подробнее... |
|
Инициализирующий конструктор.
|
|
указанного канала. Закрывается канал указанного клиентского подключения, а не серверный канал.
|
|
ввода-вывода. См. msg_do_io
|
|
указанному клиенту. Если такой клиент существует, то отсылаемые данные помещаются в буфер ожидающих отправки данных этого клиента.
|
|
Реакция на появление агента в SObjectizer. Производится попытка создание серверного канала связи.
Переопределяется в so_4::rt::comm::a_srv_channel_t. |
|
Необходимо разблокировать канал.
|
|
Получить текущее значения порога входного потока.
|
|
Получить текущее значения порога выходного потока.
|
|
новых каналов.
|
|
новых каналов.
|
|
Обработать дерегистрацию агента. Этот метод вызывается у агента уже после того, как агент был вычеркнут из SObjectizer и после того, как было разослано сообщение msg_coop_deregistered. Данный метод для агента выполняет роль деструктора. Переопределяет метод предка so_4::rt::agent_t. Переопределяется в so_4::rt::comm::a_srv_channel_t. |
|
Подписывает только события evt_start, evt_do_io. Замещает so_4::rt::agent_t. Переопределяется в so_4::rt::comm::a_raw_srv_channel_t, so_4::rt::comm::a_socksrv_t и so_4::rt::comm::a_srv_channel_t. |
|
Имя типа агента. Автоматически реализуется описанием класса агента посредством макросов SOL4_CLASS_START, SOL4_CLASS_FINISH. Замещает so_4::rt::agent_t. Переопределяется в so_4::rt::comm::a_raw_srv_channel_t, so_4::rt::comm::a_socksrv_t и so_4::rt::comm::a_srv_channel_t. |