mirror of
https://github.com/meshtastic/firmware.git
synced 2025-02-02 18:59:56 +00:00
fix missing acks for broadcasts
This commit is contained in:
parent
96cfad4e57
commit
6f13966d19
@ -35,9 +35,10 @@ bool ReliableRouter::shouldFilterReceived(const MeshPacket *p)
|
|||||||
// If this is the first time we saw this, cancel any retransmissions we have queued up and generate an internal ack for
|
// If this is the first time we saw this, cancel any retransmissions we have queued up and generate an internal ack for
|
||||||
// the original sending process.
|
// the original sending process.
|
||||||
if (stopRetransmission(getFrom(p), p->id)) {
|
if (stopRetransmission(getFrom(p), p->id)) {
|
||||||
DEBUG_MSG("Someone is retransmitting for us, generate implicit ack\n");
|
DEBUG_MSG("generating implicit ack\n");
|
||||||
if (p->want_ack)
|
// NOTE: we do NOT check p->wantAck here because p is the INCOMING rebroadcast and that packet is not expected to be
|
||||||
sendAckNak(Routing_Error_NONE, getFrom(p), p->id);
|
// marked as wantAck
|
||||||
|
sendAckNak(Routing_Error_NONE, getFrom(p), p->id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -182,9 +183,9 @@ int32_t ReliableRouter::doRetransmissions()
|
|||||||
--p.numRetransmissions;
|
--p.numRetransmissions;
|
||||||
setNextTx(&p);
|
setNextTx(&p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(stillValid) {
|
if (stillValid) {
|
||||||
// Update our desired sleep delay
|
// Update our desired sleep delay
|
||||||
int32_t t = p.nextTxMsec - now;
|
int32_t t = p.nextTxMsec - now;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user