Package org.apache.cassandra.io.tries
Class ReverseValueIterator<Concrete extends ReverseValueIterator<Concrete>>
- java.lang.Object
-
- org.apache.cassandra.io.tries.Walker<Concrete>
-
- org.apache.cassandra.io.tries.ReverseValueIterator<Concrete>
-
- All Implemented Interfaces:
java.lang.AutoCloseable
@NotThreadSafe public class ReverseValueIterator<Concrete extends ReverseValueIterator<Concrete>> extends Walker<Concrete>
Thread-unsafe reverse value iterator for on-disk tries. Uses the assumptions ofWalker
.The main utility of this class is the
nextPayloadedNode()
method, which lists all nodes that contain a payload within the requested bounds. The treatment of the bounds is non-standard (seeReverseValueIterator(Rebufferer, long, ByteComparable, ByteComparable, boolean)
), necessary to properly walk tries of prefixes and separators.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.cassandra.io.tries.Walker
Walker.Extractor<RESULT,VALUE>, Walker.PayloadToString, Walker.TransitionBytesCollector
-
-
Field Summary
-
Fields inherited from class org.apache.cassandra.io.tries.Walker
buf, BYTE_COMPARABLE_VERSION, greaterBranch, lesserBranch, nodeType, NONE, position, root
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ReverseValueIterator(Rebufferer source, long root)
protected
ReverseValueIterator(Rebufferer source, long root, ByteComparable start, ByteComparable end, boolean admitPrefix)
Constrained iterator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected long
nextPayloadedNode()
Returns the position of the next node with payload contained in the iterated span.-
Methods inherited from class org.apache.cassandra.io.tries.Walker
close, dumpTrie, follow, followWithGreater, followWithLesser, getMaxTerm, getMinTerm, go, goMax, goMin, greaterTransition, hasChildren, hasPayload, lastTransition, lesserTransition, nodeSize, nodeTypeOrdinal, payloadFlags, payloadPosition, prefix, prefixAndNeighbours, search, toString, transition, transitionByte, transitionRange
-
-
-
-
Constructor Detail
-
ReverseValueIterator
protected ReverseValueIterator(Rebufferer source, long root)
-
ReverseValueIterator
protected ReverseValueIterator(Rebufferer source, long root, ByteComparable start, ByteComparable end, boolean admitPrefix)
Constrained iterator. The end position is always treated as inclusive, and we have two possible treatments for the start:- When
admitPrefix=false
, exact matches and any prefixes of the start are excluded. - When
admitPrefix=true
, the longest prefix of the start present in the trie is also included, provided that there is no entry in the trie between that prefix and the start. An exact match also satisfies this and is included.
ValueIterator
. - When
-
-