limit max number of resends

This commit is contained in:
orignal 2014-08-11 19:32:07 -04:00
parent 2f8274a7b3
commit 921ba9a9d6
2 changed files with 15 additions and 3 deletions

View file

@ -176,6 +176,7 @@ namespace stream
SendQuickAck (); // send ack for close explicitly?
m_IsOpen = false;
m_ReceiveTimer.cancel ();
m_ResendTimer.cancel ();
}
}
@ -427,7 +428,16 @@ namespace stream
if (ecode != boost::asio::error::operation_aborted)
{
for (auto it : m_SentPackets)
SendPacket (it->GetBuffer (), it->GetLength ());
{
it->numResendAttempts++;
if (it->numResendAttempts <= MAX_NUM_RESEND_ATTEMPTS)
SendPacket (it->GetBuffer (), it->GetLength ());
else
{
Close ();
return;
}
}
ScheduleResend ();
}
}