diff --git a/src/etcp.c b/src/etcp.c index c614264..0de3791 100644 --- a/src/etcp.c +++ b/src/etcp.c @@ -706,16 +706,12 @@ static void etcp_conn_process_send_queue(struct ETCP_CONN* etcp) {// вызыв DEBUG_TRACE(DEBUG_CATEGORY_ETCP, ""); struct ETCP_DGRAM* dgram; if (etcp->tx_state!=ETCP_TX_STATE_DATA_WAIT) { - - char l_status[256]={0}; struct ETCP_LINK* link = etcp->links; while (link) { snprintf (l_status+strlen(l_status), 256-strlen(l_status), "L%d%d%s,%s ", link->recv_keepalive, link->remote_keepalive, (link->shaper_timer)?"wait":"rdy", link->send_blocked_inflight?"inf_block":"rdy"); link = link->next; } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "[%s] TX state: %d (link not ready, skip send) %s", etcp->log_name, etcp->tx_state, l_status); return; } @@ -724,6 +720,9 @@ static void etcp_conn_process_send_queue(struct ETCP_CONN* etcp) {// вызыв etcp_loadbalancer_send(dgram); dgram = etcp_request_pkt(etcp); } + if (etcp->tx_state==ETCP_TX_STATE_DATA_WAIT) { + queue_resume_callback(etcp->input_send_q); + } } // Подготовить и отправить кодограмму