create new stream only if bandwidth is available. Close non-responding streams
Some checks failed
Build Debian packages / bookworm (push) Waiting to run
Build Debian packages / bullseye (push) Waiting to run
Build Debian packages / trixie (push) Waiting to run
Build on FreeBSD / with UPnP (push) Has been cancelled
Build on OSX / Build on ARM64 (push) Has been cancelled
Build on OSX / Build on Intel x86_64 (push) Has been cancelled
Build on Windows / clang-x86_64 (push) Has been cancelled
Build on Windows / i686 (push) Has been cancelled
Build on Windows / ucrt-x86_64 (push) Has been cancelled
Build on Windows / x86_64 (push) Has been cancelled
Build on Windows / CMake clang-x86_64 (push) Has been cancelled
Build on Windows / CMake i686 (push) Has been cancelled
Build on Windows / CMake ucrt-x86_64 (push) Has been cancelled
Build on Windows / CMake x86_64 (push) Has been cancelled
Build on Windows / XP (push) Has been cancelled
Build on Ubuntu / Make with USE_UPNP=no (push) Has been cancelled
Build on Ubuntu / Make with USE_UPNP=yes (push) Has been cancelled
Build on Ubuntu / CMake with -DWITH_UPNP=OFF (push) Has been cancelled
Build on Ubuntu / CMake with -DWITH_UPNP=ON (push) Has been cancelled
Build containers / Building container for linux/amd64 (push) Has been cancelled
Build containers / Building container for linux/arm64 (push) Has been cancelled
Build containers / Building container for linux/arm/v7 (push) Has been cancelled
Build containers / Building container for linux/386 (push) Has been cancelled
Build containers / Pushing merged manifest (push) Has been cancelled

This commit is contained in:
orignal 2025-11-10 20:28:22 -05:00
parent 474cda03ad
commit 9b181c391f

View file

@ -919,6 +919,14 @@ namespace stream
} }
else if (numMsgs > m_NumPacketsToSend) else if (numMsgs > m_NumPacketsToSend)
numMsgs = m_NumPacketsToSend; numMsgs = m_NumPacketsToSend;
if (!m_RemoteLeaseSet) m_RemoteLeaseSet = m_LocalDestination.GetOwner ()->FindLeaseSet (m_RemoteIdentity->GetIdentHash ());
if (m_RemoteLeaseSet)
{
if (!m_RoutingSession)
m_RoutingSession = m_LocalDestination.GetOwner ()->GetRoutingSession (m_RemoteLeaseSet, true, false);
}
if (m_RoutingSession) if (m_RoutingSession)
{ {
m_IsJavaClient = m_RoutingSession->IsWithJava (); m_IsJavaClient = m_RoutingSession->IsWithJava ();
@ -1759,6 +1767,7 @@ namespace stream
", another remote lease has been selected for stream with rSID=", m_RecvStreamID, ", sSID=", m_SendStreamID); ", another remote lease has been selected for stream with rSID=", m_RecvStreamID, ", sSID=", m_SendStreamID);
} }
} }
if (m_IsTimeOutResend) ScheduleResend ();
SendPackets (packets); SendPackets (packets);
m_LastSendTime = ts; m_LastSendTime = ts;
m_IsSendTime = false; m_IsSendTime = false;
@ -1804,6 +1813,17 @@ namespace stream
m_CurrentRemoteLease = nullptr; m_CurrentRemoteLease = nullptr;
} }
} }
if (m_LastReceivedSequenceNumber == 0 && m_SequenceNumber == 1)
{
if (m_NumResendAttempts > 1)
{
m_Status = eStreamStatusReset;
Close ();
return;
}
m_NumResendAttempts++;
ScheduleAck (INITIAL_RTO);
}
SendQuickAck (); SendQuickAck ();
} }
m_IsAckSendScheduled = false; m_IsAckSendScheduled = false;