BF2Statistics.Gamespy.MasterServer.CheckServers C# (CSharp) Method

CheckServers() private method

Executed every 5 seconds or so... Removes all servers that haven't reported in awhile, assuming they are offline
private CheckServers ( ) : void
return void
        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);
        }