static public Dictionary <short, NetworkConnection.PacketStat> GetTotalConnectionStats() { Dictionary <short, NetworkConnection.PacketStat> stats = new Dictionary <short, NetworkConnection.PacketStat>(); for (int i = 0; i < s_Clients.Count; i++) { var client = s_Clients[i]; var clientStats = client.GetConnectionStats(); foreach (short k in clientStats.Keys) { if (stats.ContainsKey(k)) { NetworkConnection.PacketStat s = stats[k]; s.count += clientStats[k].count; s.bytes += clientStats[k].bytes; stats[k] = s; } else { stats[k] = clientStats[k]; } } } return(stats); }
public static Dictionary <short, NetworkConnection.PacketStat> GetTotalConnectionStats() { Dictionary <short, NetworkConnection.PacketStat> dictionary = new Dictionary <short, NetworkConnection.PacketStat>(); for (int i = 0; i < NetworkClient.s_Clients.Count; i++) { NetworkClient networkClient = NetworkClient.s_Clients[i]; Dictionary <short, NetworkConnection.PacketStat> connectionStats = networkClient.GetConnectionStats(); foreach (short key in connectionStats.Keys) { if (dictionary.ContainsKey(key)) { NetworkConnection.PacketStat packetStat = dictionary[key]; packetStat.count += connectionStats[key].count; packetStat.bytes += connectionStats[key].bytes; dictionary[key] = packetStat; } else { dictionary[key] = new NetworkConnection.PacketStat(connectionStats[key]); } } } return(dictionary); }
/// <summary> /// <para>Retrieves statistics about the network packets sent on all connections.</para> /// </summary> /// <returns> /// <para>Dictionary of stats.</para> /// </returns> public static Dictionary <short, NetworkConnection.PacketStat> GetTotalConnectionStats() { Dictionary <short, NetworkConnection.PacketStat> dictionary = new Dictionary <short, NetworkConnection.PacketStat>(); using (List <NetworkClient> .Enumerator enumerator1 = NetworkClient.s_Clients.GetEnumerator()) { while (enumerator1.MoveNext()) { Dictionary <short, NetworkConnection.PacketStat> connectionStats = enumerator1.Current.GetConnectionStats(); using (Dictionary <short, NetworkConnection.PacketStat> .KeyCollection.Enumerator enumerator2 = connectionStats.Keys.GetEnumerator()) { while (enumerator2.MoveNext()) { short current = enumerator2.Current; if (dictionary.ContainsKey(current)) { NetworkConnection.PacketStat packetStat = dictionary[current]; packetStat.count += connectionStats[current].count; packetStat.bytes += connectionStats[current].bytes; dictionary[current] = packetStat; } else { dictionary[current] = connectionStats[current]; } } } } } return(dictionary); }
/// <summary> /// <para>Resets the statistics that are returned from NetworkClient.GetConnectionStats().</para> /// </summary> public void ResetStats() { for (short key = 0; (int)key < NetworkConnection.s_MaxPacketStats; ++key) { if (this.m_PacketStats.ContainsKey(key)) { NetworkConnection.PacketStat packetStat = this.m_PacketStats[key]; packetStat.count = 0; packetStat.bytes = 0; NetworkTransport.SetPacketStat(0, (int)key, 0, 0); NetworkTransport.SetPacketStat(1, (int)key, 0, 0); } } }
public static Dictionary <short, NetworkConnection.PacketStat> GetTotalConnectionStats() { Dictionary <short, NetworkConnection.PacketStat> dictionary = new Dictionary <short, NetworkConnection.PacketStat>(); foreach (NetworkClient client in s_Clients) { Dictionary <short, NetworkConnection.PacketStat> connectionStats = client.GetConnectionStats(); foreach (short num in connectionStats.Keys) { if (dictionary.ContainsKey(num)) { NetworkConnection.PacketStat stat = dictionary[num]; stat.count += connectionStats[num].count; stat.bytes += connectionStats[num].bytes; dictionary[num] = stat; } else { dictionary[num] = connectionStats[num]; } } } return(dictionary); }
public static Dictionary <short, NetworkConnection.PacketStat> GetTotalConnectionStats() { Dictionary <short, NetworkConnection.PacketStat> dictionary = new Dictionary <short, NetworkConnection.PacketStat>(); foreach (NetworkClient current in NetworkClient.s_Clients) { Dictionary <short, NetworkConnection.PacketStat> connectionStats = current.GetConnectionStats(); foreach (short current2 in connectionStats.Keys) { if (dictionary.ContainsKey(current2)) { NetworkConnection.PacketStat packetStat = dictionary[current2]; packetStat.count += connectionStats[current2].count; packetStat.bytes += connectionStats[current2].bytes; dictionary[current2] = packetStat; } else { dictionary[current2] = connectionStats[current2]; } } } return(dictionary); }
/// <summary> /// <para>This makes the connection process the data contained in the stream, and call handler functions.</para> /// </summary> /// <param name="reader">Stream that contains data.</param> /// <param name="receivedSize">Size of the data.</param> /// <param name="channelId">Channel the data was received on.</param> protected void HandleReader(NetworkReader reader, int receivedSize, int channelId) { while ((long) reader.Position < (long) receivedSize) { ushort num = reader.ReadUInt16(); short key = reader.ReadInt16(); byte[] buffer = reader.ReadBytes((int) num); NetworkReader networkReader = new NetworkReader(buffer); if (this.logNetworkMessages) { StringBuilder stringBuilder = new StringBuilder(); for (int index = 0; index < (int) num; ++index) { stringBuilder.AppendFormat("{0:X2}", (object) buffer[index]); if (index > 150) break; } Debug.Log((object) ("ConnectionRecv con:" + (object) this.connectionId + " bytes:" + (object) num + " msgId:" + (object) key + " " + (object) stringBuilder)); } NetworkMessageDelegate networkMessageDelegate = (NetworkMessageDelegate) null; if (this.m_MessageHandlersDict.ContainsKey(key)) networkMessageDelegate = this.m_MessageHandlersDict[key]; if (networkMessageDelegate != null) { this.m_NetMsg.msgType = key; this.m_NetMsg.reader = networkReader; this.m_NetMsg.conn = this; this.m_NetMsg.channelId = channelId; networkMessageDelegate(this.m_NetMsg); this.lastMessageTime = Time.time; NetworkDetailStats.IncrementStat(NetworkDetailStats.NetworkDirection.Incoming, (short) 28, "msg", 1); if ((int) key > 47) NetworkDetailStats.IncrementStat(NetworkDetailStats.NetworkDirection.Incoming, (short) 0, key.ToString() + ":" + key.GetType().Name, 1); if (this.m_PacketStats.ContainsKey(key)) { NetworkConnection.PacketStat packetStat = this.m_PacketStats[key]; ++packetStat.count; packetStat.bytes += (int) num; } else { NetworkConnection.PacketStat packetStat = new NetworkConnection.PacketStat(); packetStat.msgType = key; ++packetStat.count; packetStat.bytes += (int) num; this.m_PacketStats[key] = packetStat; } } else { if (!LogFilter.logError) break; Debug.LogError((object) ("Unknown message ID " + (object) key + " connId:" + (object) this.connectionId)); break; } } }
/// <summary> /// <para>This makes the connection process the data contained in the stream, and call handler functions.</para> /// </summary> /// <param name="reader">Stream that contains data.</param> /// <param name="receivedSize">Size of the data.</param> /// <param name="channelId">Channel the data was received on.</param> protected void HandleReader(NetworkReader reader, int receivedSize, int channelId) { while ((long)reader.Position < (long)receivedSize) { ushort num = reader.ReadUInt16(); short key = reader.ReadInt16(); byte[] buffer = reader.ReadBytes((int)num); NetworkReader networkReader = new NetworkReader(buffer); if (this.logNetworkMessages) { StringBuilder stringBuilder = new StringBuilder(); for (int index = 0; index < (int)num; ++index) { stringBuilder.AppendFormat("{0:X2}", (object)buffer[index]); if (index > 150) { break; } } Debug.Log((object)("ConnectionRecv con:" + (object)this.connectionId + " bytes:" + (object)num + " msgId:" + (object)key + " " + (object)stringBuilder)); } NetworkMessageDelegate networkMessageDelegate = (NetworkMessageDelegate)null; if (this.m_MessageHandlersDict.ContainsKey(key)) { networkMessageDelegate = this.m_MessageHandlersDict[key]; } if (networkMessageDelegate != null) { this.m_NetMsg.msgType = key; this.m_NetMsg.reader = networkReader; this.m_NetMsg.conn = this; this.m_NetMsg.channelId = channelId; networkMessageDelegate(this.m_NetMsg); this.lastMessageTime = Time.time; NetworkDetailStats.IncrementStat(NetworkDetailStats.NetworkDirection.Incoming, (short)28, "msg", 1); if ((int)key > 47) { NetworkDetailStats.IncrementStat(NetworkDetailStats.NetworkDirection.Incoming, (short)0, key.ToString() + ":" + key.GetType().Name, 1); } if (this.m_PacketStats.ContainsKey(key)) { NetworkConnection.PacketStat packetStat = this.m_PacketStats[key]; ++packetStat.count; packetStat.bytes += (int)num; } else { NetworkConnection.PacketStat packetStat = new NetworkConnection.PacketStat(); packetStat.msgType = key; ++packetStat.count; packetStat.bytes += (int)num; this.m_PacketStats[key] = packetStat; } } else { if (!LogFilter.logError) { break; } Debug.LogError((object)("Unknown message ID " + (object)key + " connId:" + (object)this.connectionId)); break; } } }
internal void HandleMessage(Dictionary<short, NetworkMessageDelegate> handler, NetworkReader reader, int receivedSize, int channelId) { while ((long) reader.Position < (long) receivedSize) { ushort num = reader.ReadUInt16(); short key = reader.ReadInt16(); NetworkReader networkReader = new NetworkReader(reader.ReadBytes((int) num)); NetworkMessageDelegate networkMessageDelegate = (NetworkMessageDelegate) null; if (handler.ContainsKey(key)) networkMessageDelegate = handler[key]; if (networkMessageDelegate != null) { this.m_netMsg.msgType = key; this.m_netMsg.reader = networkReader; this.m_netMsg.conn = this; this.m_netMsg.channelId = channelId; networkMessageDelegate(this.m_netMsg); NetworkDetailStats.IncrementStat(NetworkDetailStats.NetworkDirection.Incoming, (short) 28, "msg", 1); if ((int) key > 46) NetworkDetailStats.IncrementStat(NetworkDetailStats.NetworkDirection.Incoming, (short) 0, key.ToString() + ":" + key.GetType().Name, 1); if (this.m_PacketStats.ContainsKey(key)) { NetworkConnection.PacketStat packetStat = this.m_PacketStats[key]; ++packetStat.count; packetStat.bytes += (int) num; } else { NetworkConnection.PacketStat packetStat = new NetworkConnection.PacketStat(); packetStat.msgType = key; ++packetStat.count; packetStat.bytes += (int) num; this.m_PacketStats[key] = packetStat; } } else { if (!LogFilter.logError) break; Debug.LogError((object) ("Unknown message ID " + (object) key)); break; } } }
public PacketStat(NetworkConnection.PacketStat s) { this.msgType = s.msgType; this.count = s.count; this.bytes = s.bytes; }
/// <summary> /// <para>Gets aggregate packet stats for all connections.</para> /// </summary> /// <returns> /// <para>Dictionary of msg types and packet statistics.</para> /// </returns> public static Dictionary<short, NetworkConnection.PacketStat> GetConnectionStats() { Dictionary<short, NetworkConnection.PacketStat> dictionary = new Dictionary<short, NetworkConnection.PacketStat>(); for (int i = 0; i < connections.Count; i++) { NetworkConnection connection = connections[i]; if (connection != null) { foreach (short num2 in connection.packetStats.Keys) { if (dictionary.ContainsKey(num2)) { NetworkConnection.PacketStat stat = dictionary[num2]; stat.count += connection.packetStats[num2].count; stat.bytes += connection.packetStats[num2].bytes; dictionary[num2] = stat; } else { dictionary[num2] = new NetworkConnection.PacketStat(connection.packetStats[num2]); } } } } return dictionary; }