Set AQ_Retry_Timeout before incrementing AQ_Failures. (#495)

This commit is contained in:
Jonathan Hui
2016-08-30 20:52:07 -07:00
committed by GitHub
parent b771deae4f
commit 72bd784fb5
+5 -3
View File
@@ -652,14 +652,16 @@ void AddressResolver::HandleTimer()
if (mCache[i].mTimeout == 0)
{
mCache[i].mFailures++;
mCache[i].mRetryTimeout =
static_cast<uint16_t>(kAddressQueryInitialRetryDelay * (1 << mCache[i].mFailures));
if (mCache[i].mRetryTimeout > kAddressQueryMaxRetryDelay)
if (mCache[i].mRetryTimeout < kAddressQueryMaxRetryDelay)
{
mCache[i].mFailures++;
}
else
{
mCache[i].mRetryTimeout = kAddressQueryMaxRetryDelay;
mCache[i].mFailures--;
}
mMeshForwarder.HandleResolved(mCache[i].mTarget, kThreadError_Drop);