private void CheckServers()
{
bool removed = false;
// Run this on all available processors
foreach (KeyValuePair<string, GameServer> Server in Servers)
{
if (Server.Value.LastPing < DateTime.Now - TimeSpan.FromSeconds(ServerTTL))
{
DebugLog.Write("Removing Server for Expired Ping: " + Server.Key);
GameServer value;
if (Servers.TryRemove(Server.Key, out value) && !removed)
removed = true;
}
}
// Fire the event
if (removed && OnServerlistUpdate != null)
OnServerlistUpdate(null, EventArgs.Empty);
}