public class MerkleTrees extends java.lang.Object implements java.lang.Iterable<java.util.Map.Entry<Range<Token>,MerkleTree>>
Modifier and Type | Class and Description |
---|---|
static class |
MerkleTrees.MerkleTreesSerializer |
class |
MerkleTrees.TreeRangeIterator |
Modifier and Type | Field and Description |
---|---|
static MerkleTrees.MerkleTreesSerializer |
serializer |
Constructor and Description |
---|
MerkleTrees(IPartitioner partitioner)
Creates empty MerkleTrees object.
|
Modifier and Type | Method and Description |
---|---|
MerkleTree |
addMerkleTree(int maxsize,
byte hashdepth,
Range<Token> range) |
MerkleTree |
addMerkleTree(int maxsize,
Range<Token> range)
Add a MerkleTree with the defined size and range.
|
void |
addMerkleTrees(int maxsize,
java.util.Collection<Range<Token>> ranges)
Add merkle tree's with the defined maxsize and ranges.
|
static java.util.List<Range<Token>> |
difference(MerkleTrees ltree,
MerkleTrees rtree)
Get the differences between the two sets of MerkleTrees.
|
MerkleTree.TreeRange |
get(Token t)
Get the MerkleTree.Range responsible for the given token.
|
MerkleTree |
getMerkleTree(Range<Token> range)
Get the MerkleTree responsible for the given token range.
|
byte[] |
hash(Range<Token> range) |
void |
init()
Init all MerkleTree's with an even tree distribution.
|
void |
init(Range<Token> range)
Init a selected MerkleTree with an even tree distribution.
|
void |
invalidate(Token t)
Invalidate the MerkleTree responsible for the given token.
|
java.util.Iterator<java.util.Map.Entry<Range<Token>,MerkleTree>> |
iterator()
Get an iterator of all ranges and their MerkleTrees.
|
void |
logRowCountPerLeaf(org.slf4j.Logger logger)
Log the row count per leaf for all MerkleTrees.
|
void |
logRowSizePerLeaf(org.slf4j.Logger logger)
Log the row size per leaf for all MerkleTrees.
|
void |
maxsize(Range<Token> range,
int maxsize) |
IPartitioner |
partitioner()
Get the partitioner in use.
|
MerkleTrees.TreeRangeIterator |
rangeIterator()
Get an iterator for all the iterator generated by the MerkleTrees.
|
java.util.Collection<Range<Token>> |
ranges()
Get the ranges that these merkle trees covers.
|
void |
release()
Dereference all merkle trees and release direct memory for all off-heap trees.
|
long |
rowCount() |
long |
size() |
boolean |
split(Token t)
Split the MerkleTree responsible for the given token.
|
MerkleTrees |
tryMoveOffHeap() |
public static final MerkleTrees.MerkleTreesSerializer serializer
public MerkleTrees(IPartitioner partitioner)
partitioner
- The partitioner to usepublic java.util.Collection<Range<Token>> ranges()
public IPartitioner partitioner()
public void addMerkleTrees(int maxsize, java.util.Collection<Range<Token>> ranges)
maxsize
- ranges
- public MerkleTree addMerkleTree(int maxsize, Range<Token> range)
maxsize
- range
- public MerkleTree addMerkleTree(int maxsize, byte hashdepth, Range<Token> range)
public MerkleTree.TreeRange get(Token t)
t
- public void init()
public void release()
public void init(Range<Token> range)
range
- public boolean split(Token t)
t
- public void invalidate(Token t)
t
- public MerkleTree getMerkleTree(Range<Token> range)
range
- public long size()
public MerkleTrees.TreeRangeIterator rangeIterator()
public void logRowCountPerLeaf(org.slf4j.Logger logger)
logger
- public void logRowSizePerLeaf(org.slf4j.Logger logger)
logger
- public java.util.Iterator<java.util.Map.Entry<Range<Token>,MerkleTree>> iterator()
iterator
in interface java.lang.Iterable<java.util.Map.Entry<Range<Token>,MerkleTree>>
public long rowCount()
public MerkleTrees tryMoveOffHeap() throws java.io.IOException
MerkleTrees
instance with all trees moved off heap.java.io.IOException
public static java.util.List<Range<Token>> difference(MerkleTrees ltree, MerkleTrees rtree)
ltree
- rtree
- Copyright © 2009-2021 The Apache Software Foundation