public void SetPrefixComparisonResult(byte prefixId, long pageNumber, ushort comparedBytes, int cmpResult) { if (Disabled) { return; } if (_cachedItem == null) { _cachedItem = new PrefixCompareResult() { PageNumber = pageNumber, PrefixId = prefixId, CompareResult = cmpResult, ComparedBytes = comparedBytes }; } else { _cachedItem.PageNumber = pageNumber; _cachedItem.PrefixId = prefixId; _cachedItem.CompareResult = cmpResult; _cachedItem.ComparedBytes = comparedBytes; } }
public void SetPrefixComparisonResult(byte prefixId, long pageNumber, ushort comparedBytes, int cmpResult) { if(Disabled) return; if (_cachedItem == null) { _cachedItem = new PrefixCompareResult() { PageNumber = pageNumber, PrefixId = prefixId, CompareResult = cmpResult, ComparedBytes = comparedBytes }; } else { _cachedItem.PageNumber = pageNumber; _cachedItem.PrefixId = prefixId; _cachedItem.CompareResult = cmpResult; _cachedItem.ComparedBytes = comparedBytes; } }
public bool TryGetCachedResult(byte prefixId, long pageNumber, ushort bytesToCompare, out int result) { if (_cachedItem == null || Disabled) { result = int.MinValue; return false; } if (_cachedItem.PageNumber != pageNumber) { _cachedItem = null; result = int.MinValue; return false; } if (_cachedItem.PrefixId != prefixId) { result = int.MinValue; return false; } if(_cachedItem.ComparedBytes != bytesToCompare) { if (_cachedItem.ComparedBytes > bytesToCompare && _cachedItem.CompareResult == 0) { result = _cachedItem.CompareResult; return true; } result = int.MinValue; return false; } result = _cachedItem.CompareResult; return true; }
public bool TryGetCachedResult(byte prefixId, long pageNumber, ushort bytesToCompare, out int result) { if (_cachedItem == null || Disabled) { result = int.MinValue; return(false); } if (_cachedItem.PageNumber != pageNumber) { _cachedItem = null; result = int.MinValue; return(false); } if (_cachedItem.PrefixId != prefixId) { result = int.MinValue; return(false); } if (_cachedItem.ComparedBytes != bytesToCompare) { if (_cachedItem.ComparedBytes > bytesToCompare && _cachedItem.CompareResult == 0) { result = _cachedItem.CompareResult; return(true); } result = int.MinValue; return(false); } result = _cachedItem.CompareResult; return(true); }