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