|
|
|
|
@ -141,7 +141,10 @@ static void rp_sock_pause_cb(void* arg) {
|
|
|
|
|
} |
|
|
|
|
if (rc->pause_buf && rc->pause_len > 0) { |
|
|
|
|
DEBUG_INFO(DEBUG_CATEGORY_SOCKET, "SOCK:PAUSE_FLUSH fd=%d sid=%08x len=%zu qcnt=%d", (int)rc->sock, rc->stream_id, rc->pause_len, qcnt); |
|
|
|
|
rp_send_msg(inst, rc->peer_node_id, TCP_PROXY_SUBCMD_DATA, rc->stream_id, rc->pause_buf, rc->pause_len); |
|
|
|
|
if (rp_send_msg(inst, rc->peer_node_id, TCP_PROXY_SUBCMD_DATA, rc->stream_id, rc->pause_buf, rc->pause_len) < 0) { |
|
|
|
|
DEBUG_ERROR(DEBUG_CATEGORY_SOCKET, "SOCK:PAUSE_FLUSH send failed — closing sid=%08x", rc->stream_id); |
|
|
|
|
rc->error = 1; u_free(rc->pause_buf); rc->pause_buf = NULL; rc->pause_len = 0; rp_conn_free(rc); return; |
|
|
|
|
} |
|
|
|
|
u_free(rc->pause_buf); rc->pause_buf = NULL; rc->pause_len = 0; |
|
|
|
|
} |
|
|
|
|
rc->read_id = uasync_add_socket_t(rc->ua, rc->sock, rp_sock_read_cb, rp_sock_write_cb, rp_sock_error_cb, rc); |
|
|
|
|
@ -171,7 +174,10 @@ static void rp_sock_read_cb(socket_t sock, void* arg) {
|
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
DEBUG_INFO(DEBUG_CATEGORY_SOCKET, "SOCK:RECV fd=%d sid=%08x len=%zd total=%d", (int)rc->sock, rc->stream_id, n, rp_conn_total(rc)); |
|
|
|
|
rp_send_msg(inst, rc->peer_node_id, TCP_PROXY_SUBCMD_DATA, rc->stream_id, buf, (size_t)n); |
|
|
|
|
if (rp_send_msg(inst, rc->peer_node_id, TCP_PROXY_SUBCMD_DATA, rc->stream_id, buf, (size_t)n) < 0) { |
|
|
|
|
DEBUG_ERROR(DEBUG_CATEGORY_SOCKET, "SOCK:RECV send failed — closing sid=%08x", rc->stream_id); |
|
|
|
|
rc->error = 1; rp_conn_free(rc); return; |
|
|
|
|
} |
|
|
|
|
} else if (n == 0) { |
|
|
|
|
DEBUG_INFO(DEBUG_CATEGORY_SOCKET, "SOCK:EOF fd=%d sid=%08x total=%d cli_closed=%d sock_closed=%d", |
|
|
|
|
(int)rc->sock, rc->stream_id, rp_conn_total(rc), rc->cli_closed, rc->sock_closed); |
|
|
|
|
|