internal virtual void Remove(CacheRecord record, CacheBase.RemoveExpectation removeExpectation) { Monitor.Enter(this); try { bool flag = this.cache.Remove(record.GetFuture()); D.Assert(removeExpectation == CacheBase.RemoveExpectation.Unknown || removeExpectation == CacheBase.RemoveExpectation.Present == flag, "Remove didn't meet expectations. That could suggest a mutating hash."); this.resourceCounter.crement(-1); record.DropReference(); } finally { Monitor.Exit(this); } }
internal override void Remove(CacheRecord record, CacheBase.RemoveExpectation removeExpectation) { this.memoryUsed -= ((SizedCacheRecord)record).memoryCharge; this.lruQueue.Remove(record); base.Remove(record, removeExpectation); }
internal override void Remove(CacheRecord record, CacheBase.RemoveExpectation removeExpectation) { base.Remove(record, removeExpectation); }