Package net.metanotion.io.block.index
Class BSkipLevels<K extends Comparable<? super K>,V>
java.lang.Object
net.metanotion.util.skiplist.SkipLevels<K,V>
net.metanotion.io.block.index.BSkipLevels<K,V>
- All Implemented Interfaces:
Flushable
On-disk format:
Magic number (long) max height (unsigned short) non-null height (unsigned short) span page (unsigned int) height number of level pages (unsigned ints)Always fits on one page.
-
Field Summary
Modifier and TypeFieldDescriptionfinal BlockFile
(package private) static final int
final int
final int
Fields inherited from class net.metanotion.util.skiplist.SkipLevels
bottom, levels, MAX_SIZE
-
Constructor Summary
ConstructorDescriptionBSkipLevels
(BlockFile bf, int levelPage, BSkipList<K, V> bsl) Non-recursive initializer initializeLevels() MUST be called on the first BSkipLevel in the skiplist after the constructor, unless it's a new empty level and init() was previously called. -
Method Summary
Modifier and TypeMethodDescriptionboolean
blvlck
(boolean fix) Run an integrity check on the skiplevels from the first, or just fix it if fix == true.boolean
blvlck
(boolean fix, int width, SkipLevels<K, V>[] prevLevels) void
flush()
static void
void
Non-recursive initializer.void
SkipLevels<K,
V> toString()
-
Field Details
-
HEADER_LEN
static final int HEADER_LEN- See Also:
-
levelPage
public final int levelPage -
spanPage
public final int spanPage -
bf
-
-
Constructor Details
-
BSkipLevels
Non-recursive initializer initializeLevels() MUST be called on the first BSkipLevel in the skiplist after the constructor, unless it's a new empty level and init() was previously called.- Throws:
IOException
-
-
Method Details
-
initializeLevels
public void initializeLevels()Non-recursive initializer. MUST be called on the first BSkipLevel in the skiplist after the constructor, unless it's a new empty level and init() was previously called. Only call on the first skiplevel in the list!- Since:
- 0.9.20
-
init
- Throws:
IOException
-
flush
public void flush()- Specified by:
flush
in interfaceFlushable
- Overrides:
flush
in classSkipLevels<K extends Comparable<? super K>,
V>
-
killInstance
public void killInstance()- Overrides:
killInstance
in classSkipLevels<K extends Comparable<? super K>,
V>
-
newInstance
- Overrides:
newInstance
in classSkipLevels<K extends Comparable<? super K>,
V>
-
blvlck
public boolean blvlck(boolean fix) Run an integrity check on the skiplevels from the first, or just fix it if fix == true. Only call from the first level.- Overrides:
blvlck
in classSkipLevels<K extends Comparable<? super K>,
V> - Returns:
- true if the levels were modified.
-
blvlck
- Overrides:
blvlck
in classSkipLevels<K extends Comparable<? super K>,
V>
-
toString
-