mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-01-22 13:27:17 +01:00
close stream if SYACK is not acked
This commit is contained in:
parent
3c4926f377
commit
5b2d0c579b
|
@ -1338,6 +1338,13 @@ namespace stream
|
|||
void Stream::ResendPacket ()
|
||||
{
|
||||
// check for resend attempts
|
||||
if (m_SequenceNumber == 1 && m_NumResendAttempts > 0)
|
||||
{
|
||||
LogPrint (eLogWarning, "Streaming: SYNACK packet was not ACKed after ", m_NumResendAttempts, " attempts, terminate, rSID=", m_RecvStreamID, ", sSID=", m_SendStreamID);
|
||||
m_Status = eStreamStatusReset;
|
||||
Close ();
|
||||
return;
|
||||
}
|
||||
if (m_NumResendAttempts >= MAX_NUM_RESEND_ATTEMPTS)
|
||||
{
|
||||
LogPrint (eLogWarning, "Streaming: packet was not ACKed after ", MAX_NUM_RESEND_ATTEMPTS, " attempts, terminate, rSID=", m_RecvStreamID, ", sSID=", m_SendStreamID);
|
||||
|
@ -1424,13 +1431,7 @@ namespace stream
|
|||
SendPackets (packets);
|
||||
m_LastSendTime = ts;
|
||||
m_IsSendTime = false;
|
||||
if (m_IsNAcked || m_IsResendNeeded)
|
||||
{
|
||||
if (m_SequenceNumber > 1) // doesn't resend agressively very first packet
|
||||
ScheduleSend ();
|
||||
else
|
||||
ScheduleResend ();
|
||||
}
|
||||
if (m_IsNAcked || m_IsResendNeeded) ScheduleSend ();
|
||||
}
|
||||
else
|
||||
SendBuffer ();
|
||||
|
|
Loading…
Reference in a new issue