|
|
|
|
@ -317,19 +317,21 @@ void etcp_conn_reset(struct ETCP_CONN* etcp) {
|
|
|
|
|
DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "end"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void etcp_conn_reinit(struct ETCP_CONN* etcp) {// Если сбой в обмене или ребутнулась одна из сторон -> необходимо заново переинициализировать соединение
|
|
|
|
|
DEBUG_INFO(DEBUG_CATEGORY_ETCP, "Reinitializing ETCP connection [%s]", etcp->log_name); |
|
|
|
|
|
|
|
|
|
etcp->reinit_count++; |
|
|
|
|
|
|
|
|
|
etcp->initialized = 0; |
|
|
|
|
|
|
|
|
|
void etcp_links_reset(struct ETCP_CONN* etcp) {// Если сбой в обмене или ребутнулась одна из сторон -> необходимо заново переинициализировать соединение
|
|
|
|
|
// Сбрасываем initialized во всех линках
|
|
|
|
|
struct ETCP_LINK* link = etcp->links; |
|
|
|
|
while (link) { |
|
|
|
|
link->initialized = 0; |
|
|
|
|
link = link->next; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void etcp_conn_reinit(struct ETCP_CONN* etcp) {// Если сбой в обмене или ребутнулась одна из сторон -> необходимо заново переинициализировать соединение
|
|
|
|
|
DEBUG_INFO(DEBUG_CATEGORY_ETCP, "Reinitializing ETCP connection [%s]", etcp->log_name); |
|
|
|
|
|
|
|
|
|
etcp->reinit_count++; |
|
|
|
|
|
|
|
|
|
etcp->initialized = 0; |
|
|
|
|
|
|
|
|
|
// Вызываем etcp_conn_reset для сброса состояния
|
|
|
|
|
etcp_conn_reset(etcp); |
|
|
|
|
@ -677,7 +679,7 @@ 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) { |
|
|
|
|
DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "[%s] TX state: %d", etcp->log_name, etcp->tx_state); |
|
|
|
|
DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "[%s] TX state: %d (link not ready, skip send)", etcp->log_name, etcp->tx_state); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
while(dgram = etcp_request_pkt(etcp)) { |
|
|
|
|
|