Class FreeSpaceBitSet


  • public class FreeSpaceBitSet
    extends Object
    A free space bit set.
    • Constructor Summary

      Constructors 
      Constructor Description
      FreeSpaceBitSet​(int firstFreeBlock, int blockSize)
      Create a new free space map.
    • Constructor Detail

      • FreeSpaceBitSet

        public FreeSpaceBitSet​(int firstFreeBlock,
                               int blockSize)
        Create a new free space map.
        Parameters:
        firstFreeBlock - the first free block
        blockSize - the block size
    • Method Detail

      • clear

        public void clear()
        Reset the list.
      • isUsed

        public boolean isUsed​(long pos,
                              int length)
        Check whether one of the blocks is in use.
        Parameters:
        pos - the position in bytes
        length - the number of bytes
        Returns:
        true if a block is in use
      • isFree

        public boolean isFree​(long pos,
                              int length)
        Check whether one of the blocks is free.
        Parameters:
        pos - the position in bytes
        length - the number of bytes
        Returns:
        true if a block is free
      • allocate

        public long allocate​(int length)
        Allocate a number of blocks and mark them as used.
        Parameters:
        length - the number of bytes to allocate
        Returns:
        the start position in bytes
      • markUsed

        public void markUsed​(long pos,
                             int length)
        Mark the space as in use.
        Parameters:
        pos - the position in bytes
        length - the number of bytes
      • free

        public void free​(long pos,
                         int length)
        Mark the space as free.
        Parameters:
        pos - the position in bytes
        length - the number of bytes