You've already forked lidgren-network-gen3
mirror of
https://github.com/lidgren/lidgren-network-gen3.git
synced 2026-05-15 22:56:30 +09:00
m_needFlushSendQueue added to prevent traversing sender channels each heartbeat
This commit is contained in:
@@ -253,7 +253,11 @@ namespace Lidgren.Network
|
||||
var channel = m_sendChannels[i];
|
||||
NetException.Assert(m_sendBufferWritePtr < 1 || m_sendBufferNumMessages > 0);
|
||||
if (channel != null)
|
||||
{
|
||||
channel.SendQueuedMessages(now);
|
||||
if (channel.QueuedSendsCount > 0)
|
||||
m_peer.m_needFlushSendQueue = true; // failed to send all queued sends; likely a full window - need to try again
|
||||
}
|
||||
NetException.Assert(m_sendBufferWritePtr < 1 || m_sendBufferNumMessages > 0);
|
||||
}
|
||||
}
|
||||
@@ -534,7 +538,7 @@ namespace Lidgren.Network
|
||||
}
|
||||
|
||||
windowSize = chan.WindowSize;
|
||||
freeWindowSlots = chan.GetAllowedSends() - chan.m_queuedSends.Count;
|
||||
freeWindowSlots = chan.GetFreeWindowSlots();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -544,7 +548,7 @@ namespace Lidgren.Network
|
||||
var chan = m_sendChannels[channelSlot];
|
||||
if (chan == null)
|
||||
return true;
|
||||
return (chan.GetAllowedSends() - chan.m_queuedSends.Count) > 0;
|
||||
return chan.GetFreeWindowSlots() > 0;
|
||||
}
|
||||
|
||||
internal void Shutdown(string reason)
|
||||
|
||||
Reference in New Issue
Block a user