Esempio n. 1
0
        static void AddToCache(ParsedDocument info)
        {
            if (info == null)
            {
                throw new ArgumentNullException("info");
            }
            lock (parsings)
            {
                if (parsings.Count >= MAX_PARSING_CACHE_SIZE)
                {
                    DateTime tim      = DateTime.MaxValue;
                    string   toDelete = null;
                    foreach (KeyValuePair <string, ParsingCacheEntry> pce in parsings)
                    {
                        DateTime ptim = pce.Value.AccessTime;
                        if (ptim < tim)
                        {
                            tim      = ptim;
                            toDelete = pce.Key;
                        }
                    }
                    parsings.Remove(toDelete);
                }

                ParsingCacheEntry en = new ParsingCacheEntry();
                en.ParseInformation      = info;
                en.AccessTime            = DateTime.Now;
                parsings [info.FileName] = en;
            }
        }
Esempio n. 2
0
		static void AddToCache (ParsedDocument info)
		{
			if (info == null)
				throw new ArgumentNullException ("info");
			lock (parsings) 
			{
				if (parsings.Count >= MAX_PARSING_CACHE_SIZE)
				{
					DateTime tim = DateTime.MaxValue;
					string toDelete = null;
					foreach (KeyValuePair<string, ParsingCacheEntry> pce in parsings)
					{
						DateTime ptim = pce.Value.AccessTime;
						if (ptim < tim) {
							tim = ptim;
							toDelete = pce.Key;
						}
					}
					parsings.Remove (toDelete);
				}
				
				ParsingCacheEntry en = new ParsingCacheEntry();
				en.ParseInformation = info;
				en.AccessTime = DateTime.Now;
				parsings [info.FileName] = en;
			}
		}
        void AddToCache(ParseInformation info, string fileName)
        {
            lock (parsings)
            {
                if (parsings.Count >= MAX_PARSING_CACHE_SIZE)
                {
                    DateTime tim = DateTime.MaxValue;
                    string toDelete = null;
                    foreach (DictionaryEntry pce in parsings)
                    {
                        DateTime ptim = ((ParsingCacheEntry)pce.Value).AccessTime;
                        if (ptim < tim) {
                            tim = ptim;
                            toDelete = pce.Key.ToString();
                        }
                    }
                    parsings.Remove (toDelete);
                }

                ParsingCacheEntry en = new ParsingCacheEntry();
                en.ParseInformation = info;
                en.AccessTime = DateTime.Now;
                parsings [fileName] = en;
            }
        }