コード例 #1
0
        public static Client Get(long xuid)
        {
            if (!XUIDClients.ContainsKey(xuid))
            {
                lock (XUIDClients)
                {
                    XUIDClients.Add(xuid, new Client(xuid));
                }
            }

            return(XUIDClients[xuid]);
        }
コード例 #2
0
        public static void CleanClientsThatAreLongGone()
        {
            lock (XUIDClients)
            {
                var canBeSafelyDeleted = (from client in XUIDClients
                                          where (DateTime.UtcNow - client.Value.LastTouched).TotalSeconds > 600
                                          select client.Key).ToList(); // ToList is needed as we'll be deleting from the original enumeration

                foreach (var client in canBeSafelyDeleted)
                {
                    XUIDClients.Remove(client);
                }

                Log.Info(string.Format("Deleted {0} clients", canBeSafelyDeleted.Count));
            }
        }
コード例 #3
0
ファイル: Client.cs プロジェクト: sokie/MeGusta2
 public static bool Exists(long xuid)
 {
     return(XUIDClients.ContainsKey(xuid) && XUIDClients[xuid].GameBuild > 0);
 }