Граф наследования:so_4::rt::comm::a_cln_channel_base_t::disconnect_handler_t:
В некоторых случаях необходимо, чтобы сам клиентский канал пытался восстановить соединение. Но режим восстановления может зависеть от требований задачи. В некоторых случаях требуется предпринять три попытки подряд. В некоторых -- повторять попытки через фиксированные интервалы времени. В некоторых -- размер интервала времени между попытками определяется исходя из текущих условий.
Для того, чтобы в конкретной задаче клиентский канал можно было настроить на конкретную логику предназначен интерфейс disconnect_handler_t.
Производный класс должен соответствующим образом переопределить методы on_connection_fail() и on_connection_lost().
SObjectizer предоставляет реализацию интерфейса diconnect_handler_t, которая при разрывах связи отсылает агенту-клиентскому каналу отложенное сообщение msg_connect. См. create_def_disconnect_handler();
Открытые члены | |
virtual void | on_connection_fail (const std::string &agent)=0 |
Обработчик неудачного установления соединения. | |
virtual void | on_connection_lost (const std::string &agent)=0 |
Обработчик разрыва соединения. |
|
Обработчик неудачного установления соединения. Вызывается, если не удалось установить соединения с серверным сокетом.
Замещается в so_4::rt::comm::a_cln_channel_impl::def_disconnect_handler_t. |
|
Обработчик разрыва соединения. Вызывается при обнаружении разрыва ранее установленного соединения.
Замещается в so_4::rt::comm::a_cln_channel_impl::def_disconnect_handler_t. |