В некоторых случаях необходимо, чтобы сам клиентский канал пытался восстановить соединение. Но режим восстановления может зависеть от требований задачи. В некоторых случаях требуется предпринять три попытки подряд. В некоторых -- повторять попытки через фиксированные интервалы времени. В некоторых -- размер интервала времени между попытками определяется исходя из текущих условий.
Для того, чтобы в конкретной задаче клиентский канал можно было настроить на конкретную логику предназначен интерфейс disconnect_handler_t.
Производный класс должен соответствующим образом переопределить методы on_connection_fail() и on_connection_lost().
SObjectizer предоставляет реализацию интерфейса diconnect_handler_t, которая при разрывах связи отсылает агенту-клиентскому каналу отложенное сообщение msg_connect.
Открытые члены | |
virtual void | on_connection_fail (const std::string &agent)=0 |
Обработчик неудачного установления соединения. | |
virtual void | on_connection_lost (const std::string &agent)=0 |
Обработчик разрыва соединения. |
virtual void so_4::rt::comm::disconnect_handler_t::on_connection_fail | ( | const std::string & | agent | ) | [pure virtual] |
Обработчик неудачного установления соединения.
Вызывается, если не удалось установить соединения с серверным сокетом.
agent | Агент, который пытался установить соединение. |
Замещается в so_4::rt::comm::no_op_disconnect_handler_t и so_4::rt::comm::def_disconnect_handler_t.
virtual void so_4::rt::comm::disconnect_handler_t::on_connection_lost | ( | const std::string & | agent | ) | [pure virtual] |
Обработчик разрыва соединения.
Вызывается при обнаружении разрыва ранее установленного соединения.
agent | Агент, который поддерживал соединение. |
Замещается в so_4::rt::comm::no_op_disconnect_handler_t и so_4::rt::comm::def_disconnect_handler_t.
Документация по SObjectizer v.4.4 'Тебуломста'. Последние изменения: Thu Sep 18 10:26:49 2008. Создано системой 1.5.6 |