public class Index
extends java.lang.Object
implements java.lang.Iterable<byte[]>
0 -> 0, 122 -> 1 123 -> 123, 244 -> 2 245 -> 245, ...
Modifier and Type | Class and Description |
---|---|
(package private) class |
Index.Page |
Modifier and Type | Field and Description |
---|---|
(package private) java.util.LinkedHashMap<java.lang.Integer,Index.Page> |
cache |
(package private) int |
capacity |
(package private) java.nio.channels.FileChannel |
file |
(package private) static int |
INDEX |
(package private) int |
keySize |
(package private) static int |
KEYSIZE |
(package private) static int |
LEAF |
(package private) static int |
MAGIC |
private int |
nextPage |
(package private) int |
pageSize |
Index.Page |
root |
(package private) java.nio.MappedByteBuffer |
settings |
(package private) static int |
SIGNATURE |
(package private) int |
valueSize |
Constructor and Description |
---|
Index(java.io.File file,
int keySize) |
Modifier and Type | Method and Description |
---|---|
(package private) Index.Page |
allocate(boolean leaf) |
void |
close() |
(package private) Index.Page |
getPage(int number) |
void |
insert(byte[] k,
long v) |
java.util.Iterator<byte[]> |
iterator() |
long |
search(byte[] k) |
java.lang.String |
toString() |
static final int LEAF
static final int INDEX
static final int SIGNATURE
static final int MAGIC
static final int KEYSIZE
java.nio.channels.FileChannel file
final int pageSize
final int keySize
final int valueSize
final int capacity
public Index.Page root
final java.util.LinkedHashMap<java.lang.Integer,Index.Page> cache
final java.nio.MappedByteBuffer settings
private int nextPage
public Index(java.io.File file, int keySize) throws java.io.IOException
java.io.IOException
public void insert(byte[] k, long v) throws java.lang.Exception
java.lang.Exception
public long search(byte[] k) throws java.lang.Exception
java.lang.Exception
Index.Page allocate(boolean leaf) throws java.io.IOException
java.io.IOException
Index.Page getPage(int number) throws java.io.IOException
java.io.IOException
public java.lang.String toString()
toString
in class java.lang.Object
public void close() throws java.io.IOException
java.io.IOException
public java.util.Iterator<byte[]> iterator()
iterator
in interface java.lang.Iterable<byte[]>