Browse Source

1

nodeinfo-routing-update
jeka 3 weeks ago
parent
commit
be037780a5
  1. 1
      lib/ll_queue.c
  2. 6
      src/etcp.c

1
lib/ll_queue.c

@ -282,6 +282,7 @@ int queue_data_put(struct ll_queue* q, struct ll_entry* entry, uint32_t id) {
// Проверить лимит размера
if (q->size_limit >= 0 && q->count >= q->size_limit) {
queue_dgram_free(entry);
queue_entry_free(entry); // Освободить элемент если превышен лимит
return -1;
}

6
src/etcp.c

@ -587,6 +587,7 @@ static void etcp_link_ready_callback(struct ETCP_CONN* etcp) {
DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "");
if (!etcp) return;
if (etcp->tx_state!=ETCP_TX_STATE_LINK_WAIT) return;
etcp->tx_state = ETCP_TX_STATE_DATA_WAIT;
queue_resume_callback(etcp->input_send_q);
queue_resume_callback(etcp->ack_q);
}
@ -604,7 +605,10 @@ static void ack_response_timer_cb(void* arg) {// проверяем неотпр
static void etcp_conn_process_send_queue(struct ETCP_CONN* etcp) {// вызываем когда есть элемент в send_q или надо отправить ack
DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "");
struct ETCP_DGRAM* dgram;
if (etcp->tx_state!=ETCP_TX_STATE_DATA_WAIT) return;
if (etcp->tx_state!=ETCP_TX_STATE_DATA_WAIT) {
DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "[%s] TX state: %d", etcp->log_name, etcp->tx_state);
return;
}
while(dgram = etcp_request_pkt(etcp)) {
etcp_loadbalancer_send(dgram);
}

Loading…
Cancel
Save