예제 #1
0
        void DoRefresh()
        {
            Notify("ReceivedMessages");
            Notify("ReceivedBytes");

            Notify("SentMessages");
            Notify("SentBytes");

            if (m_messageReportingEnableCount > 0)
            {
                KeyValuePair <Type, int>[] sent;
                lock (m_sentCountMap)
                    sent = m_sentCountMap.ToArray();

                KeyValuePair <Type, int>[] received;
                lock (m_receivedCountMap)
                    received = m_receivedCountMap.ToArray();

                foreach (var kvp in received)
                {
                    var t = kvp.Key;
                    var c = kvp.Value;

                    var entry = m_receivedMessageCounts.SingleOrDefault(i => i.Type == t);
                    if (entry == null)
                    {
                        entry = new MessageCountStore()
                        {
                            Type = t, Count = c
                        };
                        m_receivedMessageCounts.Add(entry);
                    }
                    else
                    {
                        entry.Count = c;
                    }
                }

                foreach (var kvp in sent)
                {
                    var t = kvp.Key;
                    var c = kvp.Value;

                    var entry = m_sentMessageCounts.SingleOrDefault(i => i.Type == t);
                    if (entry == null)
                    {
                        entry = new MessageCountStore()
                        {
                            Type = t, Count = c
                        };
                        m_sentMessageCounts.Add(entry);
                    }
                    else
                    {
                        entry.Count = c;
                    }
                }
            }
        }
예제 #2
0
        void DoRefresh()
        {
            Notify("ReceivedMessages");
            Notify("ReceivedBytes");

            Notify("SentMessages");
            Notify("SentBytes");

            if (m_messageReportingEnableCount > 0)
            {
                KeyValuePair<Type, int>[] sent;
                lock (m_sentCountMap)
                    sent = m_sentCountMap.ToArray();

                KeyValuePair<Type, int>[] received;
                lock (m_receivedCountMap)
                    received = m_receivedCountMap.ToArray();

                foreach (var kvp in received)
                {
                    var t = kvp.Key;
                    var c = kvp.Value;

                    var entry = m_receivedMessageCounts.SingleOrDefault(i => i.Type == t);
                    if (entry == null)
                    {
                        entry = new MessageCountStore() { Type = t, Count = c };
                        m_receivedMessageCounts.Add(entry);
                    }
                    else
                    {
                        entry.Count = c;
                    }
                }

                foreach (var kvp in sent)
                {
                    var t = kvp.Key;
                    var c = kvp.Value;

                    var entry = m_sentMessageCounts.SingleOrDefault(i => i.Type == t);
                    if (entry == null)
                    {
                        entry = new MessageCountStore() { Type = t, Count = c };
                        m_sentMessageCounts.Add(entry);
                    }
                    else
                    {
                        entry.Count = c;
                    }
                }
            }
        }
예제 #3
0
        void RefreshTick(object sender, EventArgs e)
        {
            m_timer.Stop();

            Notify("SentMessages");
            Notify("SentBytes");
            Notify("ReceivedMessages");
            Notify("ReceivedBytes");

            foreach (var kvp in m_receivedCountMap)
            {
                var t = kvp.Key;
                var c = kvp.Value;

                var entry = m_receivedMessageCounts.SingleOrDefault(i => i.Type == t);
                if (entry == null)
                {
                    entry = new MessageCountStore() { Type = t, Count = c };
                    m_receivedMessageCounts.Add(entry);
                }
                else
                {
                    entry.Count = c;
                }
            }

            foreach (var kvp in m_sentCountMap)
            {
                var t = kvp.Key;
                var c = kvp.Value;

                var entry = m_sentMessageCounts.SingleOrDefault(i => i.Type == t);
                if (entry == null)
                {
                    entry = new MessageCountStore() { Type = t, Count = c };
                    m_sentMessageCounts.Add(entry);
                }
                else
                {
                    entry.Count = c;
                }
            }
        }