public final class LongAdaptiveRadixTreeMap<V> extends Object
based on original paper:
The Adaptive Radix Tree: ARTful Indexing for Main-Memory Databases
Viktor Leis, Alfons Kemper, Thomas Neumann Fakultat fur Informatik Technische Universitat Munchen Boltzmannstrae 3, D-85748 Garching
https://db.in.tum.de/~leis/papers/ART.pdf
Target operations: - GET or (PUT + GET_LOWER/HIGHER) - placing/moving/bulkload order - often GET, more rare PUT ??cache - REMOVE - cancel or move - last order in the bucket - TRAVERSE from LOWER - filling L2 market data, in hot area (Node256 or Node48). - REMOVE price during matching - !! can use RANGE removal operation - rare, but latency critical - GET or PUT if not exists - inserting back own orders, very rare
| Modifier and Type | Class and Description |
|---|---|
static class |
LongAdaptiveRadixTreeMap.Entry<V> |
| Constructor and Description |
|---|
LongAdaptiveRadixTreeMap() |
LongAdaptiveRadixTreeMap(ObjectsPool objectsPool) |
| Modifier and Type | Method and Description |
|---|---|
void |
clear() |
List<Map.Entry<Long,V>> |
entriesList() |
int |
forEach(LongObjConsumer<V> consumer,
int limit) |
int |
forEachDesc(LongObjConsumer<V> consumer,
int limit) |
V |
get(long key) |
V |
getHigherValue(long key) |
V |
getLowerValue(long key) |
V |
getOrInsert(long key,
Supplier<V> supplier) |
void |
getOrInsertFromNode(IArtNode<V> node,
Supplier<V> supplier) |
String |
printDiagram() |
void |
put(long key,
V value) |
void |
remove(long key) |
void |
removeRange(long keyFromInclusive,
long keyToExclusive)
remove keys range
|
int |
size(int limit) |
void |
validateInternalState() |
public LongAdaptiveRadixTreeMap(ObjectsPool objectsPool)
public LongAdaptiveRadixTreeMap()
public V get(long key)
public void put(long key,
V value)
public void remove(long key)
public void clear()
public void removeRange(long keyFromInclusive,
long keyToExclusive)
keyFromInclusive - from key inclusivekeyToExclusive - to key exclusivepublic V getHigherValue(long key)
public V getLowerValue(long key)
public int forEach(LongObjConsumer<V> consumer, int limit)
public int forEachDesc(LongObjConsumer<V> consumer, int limit)
public int size(int limit)
public void validateInternalState()
public String printDiagram()
Copyright © 2020. All rights reserved.