public void Reset(long pageNumber) { // There can be multiple instances of the same page in the cache. for (int i = 0; i < _cache.Length; i++) { if (_cache[i].IsValid && _cache[i].PageNumber == pageNumber) { _cache[i] = new PageHandlePtr(); } } }
public void AddReadOnly(Page page) { current = (++current) % _cache.Length; _cache[current] = new PageHandlePtr(page, false); }
public void AddWritable(Page page) { current = (++current) % _cache.Length; _cache[current] = new PageHandlePtr(page, true); }