void BootstrapPerformanceDataCollected(object sender, PermformanceDataEventArgs e) { m_ServerState.GlobalPerformance = e.GlobalData; var performanceDict = new Dictionary <string, PerformanceData>(e.InstancesData.Length, StringComparer.OrdinalIgnoreCase); for (var i = 0; i < e.InstancesData.Length; i++) { var p = e.InstancesData[i]; performanceDict.Add(p.ServerName, p.Data); } for (var i = 0; i < m_ServerState.InstanceStates.Length; i++) { var s = m_ServerState.InstanceStates[i]; PerformanceData p; if (performanceDict.TryGetValue(s.Instance.Name, out p)) { s.Performance = p; } } CurrentServerInfo = m_ServerState.ToServerInfo(); var content = CommandName.UPDATE + " " + JsonConvert.SerializeObject(CurrentServerInfo); foreach (var s in GetSessions(s => s.LoggedIn)) { s.SendResponseAsync(content); } }
void m_PerfMonitor_Collected(object sender, PermformanceDataEventArgs e) { var handler = PerformanceDataCollected; if (handler != null) { handler(sender, e); } }