Package org.h2.mvstore
Class FreeSpaceBitSet
java.lang.Object
org.h2.mvstore.FreeSpaceBitSet
A free space bit set.
-
Constructor Summary
ConstructorsConstructorDescriptionFreeSpaceBitSet(int firstFreeBlock, int blockSize) Create a new free space map. -
Method Summary
Modifier and TypeMethodDescriptionlongallocate(int length) Allocate a number of blocks and mark them as used.voidclear()Reset the list.voidfree(long pos, int length) Mark the space as free.booleanisFree(long pos, int length) Check whether one of the blocks is free.booleanisUsed(long pos, int length) Check whether one of the blocks is in use.voidmarkUsed(long pos, int length) Mark the space as in use.toString()
-
Constructor Details
-
FreeSpaceBitSet
public FreeSpaceBitSet(int firstFreeBlock, int blockSize) Create a new free space map.- Parameters:
firstFreeBlock- the first free blockblockSize- the block size
-
-
Method Details
-
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 byteslength- 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 byteslength- 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 byteslength- the number of bytes
-
free
public void free(long pos, int length) Mark the space as free.- Parameters:
pos- the position in byteslength- the number of bytes
-
toString
-