-
Notifications
You must be signed in to change notification settings - Fork 131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unneeded m_requiredTxCallback() call? #112
Comments
It looks like the problematic line is else
{
uint8_t txs = m_maxNumbTx - (m_retxParams.retxLeft );
m_requiredTxCallback (txs, true, m_retxParams.firstAttempt, m_retxParams.packet);
NS_LOG_INFO ("We have " << unsigned(m_retxParams.retxLeft) <<
" transmissions left. We were not transmitting confirmed messages.");
// Reset retransmission parameters
resetRetransmissionParameters ();
} Do you agree this would fix the issue without introducing any regressions? It certainly makes no sense to reset retransmission parameters for unconfirmed traffic, and at first sight for confirmed traffic this looks useless, too, but I'm not 100% sure. We need more tests for this kind of stuff. |
I agree with your thinking. I'm not going to send a pull request at this stage as I'm tackling issue #110 and that would overwrite this code anyway. Still figuring out the best time to reset myself! |
That's great news - let me know if you need any help. Let's keep this open for now, and remember to close it if it gets fixed with the new code! |
Closing, let's move this discussion to the pull request. |
Expected Behavior
No call to m_requiredTxCallback().
Actual Behavior
Line 257 calls m_requiredTxCallback() for unconfirmed traffic. It gives the function m_retxParams.packet but that packet is 0 as m_retxParams is currently only used for confirmed traffic.
Lora packet tracker thus calls m_reTransmissionTracker.insert(0, entry) which succeeds once and after that is ignored as packet 0 already exists.
This causes CountMacPacketsGloballyCpsr() to find a packet in a 100% unconfirmed traffic simulation (there should be none).
Is there a reason for this call that I'm missing?
Steps to Reproduce the Problem
Specifications
The text was updated successfully, but these errors were encountered: