|
|
|
|
@ -220,18 +220,20 @@ static void keepalive_timer_cb(void* arg) {
|
|
|
|
|
if (link->recv_keepalive != 0) { |
|
|
|
|
link->recv_keepalive = 0; // down
|
|
|
|
|
link->link_status = 0; |
|
|
|
|
etcp_on_link_down(link->etcp); |
|
|
|
|
DEBUG_WARN(DEBUG_CATEGORY_CONNECTION, "[%s] Link %p (local_id=%d) recv status changed to DOWN - " |
|
|
|
|
"no packets received for %llu ms (timeout=%u ms)", |
|
|
|
|
link->etcp->log_name, link, link->local_link_id, |
|
|
|
|
(unsigned long long)(elapsed / 10), link->keepalive_timeout); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
if (link->recv_keepalive != 1) { |
|
|
|
|
link->recv_keepalive = 1; // up
|
|
|
|
|
// loadbalancer_link_ready(link);
|
|
|
|
|
DEBUG_INFO(DEBUG_CATEGORY_CONNECTION, "[%s] Link %p (local_id=%d) recv status changed to UP", link->etcp->log_name, link, link->local_link_id); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
// else {
|
|
|
|
|
// if (link->recv_keepalive != 1) {
|
|
|
|
|
// link->recv_keepalive = 1; // up
|
|
|
|
|
// loadbalancer_link_ready(link);
|
|
|
|
|
// DEBUG_ERROR(DEBUG_CATEGORY_CONNECTION, "[%s] Link %p (local_id=%d) recv status changed to UP", link->etcp->log_name, link, link->local_link_id);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// Send keepalive only if no packets were sent since last tick
|
|
|
|
|
if (!link->pkt_sent_since_keepalive) etcp_link_send_keepalive(link); |
|
|
|
|
|