* If true, respond with PONG to PING. Default value is 0 (false).
*
* If set, the ping-pong protocol is used on TCP connections. If a ping (at
- * least 4 whitespace characters) is received within messages, a pong
+ * least 4 whitespace characters) is received between messages, a pong
* (CR-LF) is sent in response.
*
* Use with tport_tcreate(), tport_tbind(), tport_set_params(), nua_create(),
if (n <= 0)
return (int)n;
- SU_DEBUG_7(("%s(%p): received keepalive\n", __func__, (void *)self));
+ SU_DEBUG_7(("%s(%p): received keepalive (total %u)\n", __func__,
+ (void *)self, self->tp_ping));
N -= n, self->tp_ping += n;
__func__, (void *)self,
"closing connection", TPN_ARGS(self->tp_name),
" because of PONG timeout"));
- tport_close(self);
+ tport_error_report(self, EPIPE, NULL);
+ if (!self->tp_closed)
+ tport_close(self);
return;
}
}