Inspect received ACK route before clearing its header

This commit is contained in:
mikecarper committed 2026-10-03 21:28:24 -07:00
1 parent 6a90697868
commit 2fa9a96cce
3 files changed
+58 -11

No files matched your search

+2 -1
View File
@@ -495,12 +495,13 @@ void BaseChatMesh::onAckRecv(mesh::Packet* packet, uint32_t ack_crc) {
ContactInfo* from;
if (processAck((uint8_t *)&ack_crc, from)) {
txt_send_timeout = 0; // matched one we're waiting for, cancel timeout timer
packet->markDoNotRetransmit(); // ACK was for this node, so don't retransmit
if (from != NULL && packet->isRouteFlood() && from->out_path_len != OUT_PATH_UNKNOWN) {
// we have direct path, but other node is still sending flood, so maybe they didn't receive reciprocal path properly(?)
handleReturnPathRetry(*from, packet->path, packet->path_len);
}
// Check the received route before marking, which replaces the header.
packet->markDoNotRetransmit(); // ACK was for this node, so don't retransmit
}
}