try to resend if window is full

This commit is contained in:
orignal 2022-08-12 18:56:58 -04:00
parent 3ae885d120
commit c3dd7ed73a

View File

@ -285,13 +285,18 @@ namespace transport
m_SendQueue.push_back (it);
SendQueue ();
if (m_SendQueue.size () > SSU2_MAX_OUTGOING_QUEUE_SIZE)
if (m_SendQueue.size () > 0) // windows is full
{
if (m_SendQueue.size () <= SSU2_MAX_OUTGOING_QUEUE_SIZE)
Resend (i2p::util::GetMillisecondsSinceEpoch ());
else
{
LogPrint (eLogWarning, "SSU2: Outgoing messages queue size to ",
GetIdentHashBase64(), " exceeds ", SSU2_MAX_OUTGOING_QUEUE_SIZE);
RequestTermination (eSSU2TerminationReasonTimeout);
}
}
}
bool SSU2Session::SendQueue ()
{
@ -462,7 +467,6 @@ namespace transport
m_WindowSize >>= 1; // /2
if (m_WindowSize < SSU2_MIN_WINDOW_SIZE) m_WindowSize = SSU2_MIN_WINDOW_SIZE;
}
SendQueue ();
}
void SSU2Session::ResendHandshakePacket ()