partial for #681: Never let stale nodeinfos/positions stay in xmit queue

This commit is contained in:
Kevin Hester
2021-02-11 17:39:53 +08:00
parent fdfe62edf0
commit 917090856f
11 changed files with 53 additions and 2 deletions

View File

@@ -28,10 +28,15 @@ bool NodeInfoPlugin::handleReceivedProtobuf(const MeshPacket &mp, const User &p)
void NodeInfoPlugin::sendOurNodeInfo(NodeNum dest, bool wantReplies)
{
// cancel any not yet sent (now stale) position packets
if(prevPacketId) // if we wrap around to zero, we'll simply fail to cancel in that rare case (no big deal)
service.cancelSending(prevPacketId);
MeshPacket *p = allocReply();
p->to = dest;
p->decoded.want_response = wantReplies;
prevPacketId = p->id;
service.sendToMesh(p);
}