Esempio n. 1
0
        public bool BeginIteration(int initialBlock)
        {
            PhysicalBlock = initialBlock;
            Fat.ReadEntry(initialBlock, out _nextBlock, out _prevBlock, out _currentSegmentSize);

            return(_prevBlock == -1);
        }
Esempio n. 2
0
        public bool MoveNext()
        {
            if (_nextBlock == -1)
            {
                return(false);
            }

            VirtualBlock += _currentSegmentSize;
            PhysicalBlock = _nextBlock;

            Fat.ReadEntry(_nextBlock, out _nextBlock, out _prevBlock, out _currentSegmentSize);

            return(true);
        }
Esempio n. 3
0
        public bool MovePrevious()
        {
            if (_prevBlock == -1)
            {
                return(false);
            }

            PhysicalBlock = _prevBlock;

            Fat.ReadEntry(_prevBlock, out _nextBlock, out _prevBlock, out _currentSegmentSize);

            VirtualBlock -= _currentSegmentSize;

            return(true);
        }