Пример #1
0
        public void TimerCallback(object state)
        {
            if (m_CounterDisplay != null)
            {
                DateTime lastTenSeconds = DateTime.Now - TimeSpan.FromSeconds(10.0);

                int sentPackets = 0, sentPacketsSize = 0;
                int recvPackets = 0, recvPacketsSize = 0;

                for (int i = m_Packets.Count - 1; i > 0; i--)
                {
                    TimePacket tPacket = (TimePacket)m_Packets[i];
                    if (tPacket.Time < lastTenSeconds)
                    {
                        break;
                    }

                    Packet packet = tPacket.Packet;
                    if (packet.Send)
                    {
                        sentPackets++;
                        sentPacketsSize += packet.Data.Length;
                    }
                    else
                    {
                        recvPackets++;
                        recvPacketsSize += packet.Data.Length;
                    }
                }

                m_CounterDisplay.DisplayCounter(sentPackets / 10, sentPacketsSize / 10, recvPackets / 10, recvPacketsSize / 10);
            }
        }