[ ] receiveNack uses if (debugInfo.path.length === 0) to know if a backtrack is finished. It should instead look for incoming traffic reports for the probe.
[ ] receiveNack uses debugInfo.path.pop() to know who the probe came from. It should instead look for incoming traffic reports for the probe.
[ ] considerProbe does the same with const oldSender = debugInfo.path.pop();
[ ] considerProbe uses if (debugInfo.backtracked.length > 0) to decide whether the incarnation should be incremented. it should instead keep track of the incoming Nack to detect this.
[ ] receiveScout uses if (this.name === debugInfo.loop[0]) to know if it should initiate a probe. It should instead remember that it started the scout message.
if (debugInfo.path.length === 0)
to know if a backtrack is finished. It should instead look for incoming traffic reports for the probe.debugInfo.path.pop()
to know who the probe came from. It should instead look for incoming traffic reports for the probe.const oldSender = debugInfo.path.pop();
if (debugInfo.backtracked.length > 0)
to decide whether the incarnation should be incremented. it should instead keep track of the incoming Nack to detect this.if (this.name === debugInfo.loop[0])
to know if it should initiate a probe. It should instead remember that it started the scout message.