Lidgren.Network.NetConnection.MTUExpansionHeartbeat C# (CSharp) Method

MTUExpansionHeartbeat() private method

private MTUExpansionHeartbeat ( double now ) : void
now double
return void
        private void MTUExpansionHeartbeat(double now)
        {
            if (m_expandMTUStatus == ExpandMTUStatus.Finished)
                return;

            if (m_expandMTUStatus == ExpandMTUStatus.None)
            {
                if (m_peerConfiguration.m_autoExpandMTU == false)
                {
                    FinalizeMTU(m_currentMTU);
                    return;
                }

                // begin expansion
                ExpandMTU(now);
                return;
            }

            if (now > m_lastSentMTUAttemptTime + m_peerConfiguration.ExpandMTUFrequency)
            {
                m_mtuAttemptFails++;
                if (m_mtuAttemptFails == 3)
                {
                    FinalizeMTU(m_currentMTU);
                    return;
                }

                // timed out; ie. failed
                m_smallestFailedMTU = m_lastSentMTUAttemptSize;
                ExpandMTU(now);
            }
        }