Beispiel #1
0
        public MessageStatistics BuildMessageStatistics()
        {
            lock (_syncStat)
            {
                var reliableSet = new HashSet <ushort>(ReliableMessages);
                return(new MessageStatistics
                {
                    Sent = MessagesSentCount
                           .Select(item => new Tuple <ushort, bool, int>(item.Key, reliableSet.Contains(item.Key), item.Value))
                           .OrderBy(t => t.Item1).ToList(),

                    Received = MessagesReceivedCount
                               .Select(item => new Tuple <ushort, bool, int>(item.Key, reliableSet.Contains(item.Key), item.Value))
                               .OrderBy(t => t.Item1).ToList(),
                });
            }
        }
Beispiel #2
0
        public void TrackSentMessage(int sizeInBytes, bool isReliable, ushort operationCode)
        {
            lock (_syncStat)
            {
                if (!MessagesSentCount.ContainsKey(operationCode))
                {
                    MessagesSentCount.Add(operationCode, 1);
                }
                else
                {
                    MessagesSentCount[operationCode]++;
                }

                TotalTrafficSent += sizeInBytes;

                if (isReliable)
                {
                    AddReliable(operationCode);
                }
            }
        }