You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Suppose the first 4 packets arrive OK. While waiting for the 5th packet, packetCount is 4 but blockPacketCount is still zero. If the 5th packet goes missing, the AA code will set packetCount based on the wrong blockPacketCount, expecting the same packet numbers again.
blockPacketCount should be incremented when blockNum 3 arrives, at the same time as blockNum is reset to zero, not set to packetNum when blockNum 0 arrives. This would have been the wrong value anyway when packetNum started at 1 because of the need to match ++packetCount.
The text was updated successfully, but these errors were encountered:
I have created a PR for this. Please check it out if you have time. I realised I could use the trick of flashing a C++ sample over a MakeCode one to test a modified debug DAL. Every cloud has a silver lining!
While testing I noticed that if the last packet in a batch of 4 goes missing, the process just times out because the app doesn't get a reply - something for the future. I have tested the changes with the app failing to send a random 50% of packets 0 to 2 of a very large project.
Suppose the first 4 packets arrive OK. While waiting for the 5th packet, packetCount is 4 but blockPacketCount is still zero. If the 5th packet goes missing, the AA code will set packetCount based on the wrong blockPacketCount, expecting the same packet numbers again.
blockPacketCount should be incremented when blockNum 3 arrives, at the same time as blockNum is reset to zero, not set to packetNum when blockNum 0 arrives. This would have been the wrong value anyway when packetNum started at 1 because of the need to match ++packetCount.
The text was updated successfully, but these errors were encountered: