public long MapPosition(long pos) { long vcn = pos / _bytesPerCluster; int dataRunIdx = _cookedRuns.FindDataRun(vcn, 0); if (_cookedRuns[dataRunIdx].IsSparse) { return(-1); } return(_cookedRuns[dataRunIdx].StartLcn * _bytesPerCluster + (pos - _cookedRuns[dataRunIdx].StartVcn * _bytesPerCluster)); }
public override bool IsClusterStored(long vcn) { int runIdx = _cookedRuns.FindDataRun(vcn, 0); return(!_cookedRuns[runIdx].IsSparse); }