@InterfaceAudience.Private public abstract class ByteRangeSet extends java.lang.Object
Current implementations are ByteRangeHashSet
and
ByteRangeTreeSet
, but other options might be a
trie-oriented ByteRangeTrieSet, etc
Modifier and Type | Field and Description |
---|---|
protected byte[] |
byteAppender
fields
|
protected int |
numBytes |
protected int |
numInputs |
protected int |
numUniqueRanges |
protected int[] |
sortedIndexByInsertionId |
protected java.util.List<java.lang.Integer> |
sortedIndexByUniqueIndex |
protected java.util.ArrayList<ByteRange> |
sortedRanges |
protected java.util.Map<ByteRange,java.lang.Integer> |
uniqueIndexByUniqueRange |
protected int[] |
uniqueRangeIndexByInsertionId |
protected java.util.ArrayList<ByteRange> |
uniqueRanges |
Modifier | Constructor and Description |
---|---|
protected |
ByteRangeSet()
construct
|
Modifier and Type | Method and Description |
---|---|
void |
add(ByteRange bytes)
Check if the incoming byte range exists.
|
abstract void |
addToSortedRanges()
abstract
|
ByteRangeSet |
compile() |
long |
getAvgSize() |
int |
getSortedIndexForInsertionId(int insertionId) |
java.util.ArrayList<ByteRange> |
getSortedRanges()
get/set
|
void |
reset() |
int |
size() |
protected int |
store(ByteRange bytes) |
java.lang.String |
toString()
standard methods
|
protected byte[] byteAppender
protected int numBytes
protected java.util.Map<ByteRange,java.lang.Integer> uniqueIndexByUniqueRange
protected java.util.ArrayList<ByteRange> uniqueRanges
protected int numUniqueRanges
protected int[] uniqueRangeIndexByInsertionId
protected int numInputs
protected java.util.List<java.lang.Integer> sortedIndexByUniqueIndex
protected int[] sortedIndexByInsertionId
protected java.util.ArrayList<ByteRange> sortedRanges
public void reset()
public abstract void addToSortedRanges()
public void add(ByteRange bytes)
protected int store(ByteRange bytes)
public ByteRangeSet compile()
public int getSortedIndexForInsertionId(int insertionId)
public int size()
public java.lang.String toString()
toString
in class java.lang.Object
public java.util.ArrayList<ByteRange> getSortedRanges()
public long getAvgSize()