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:
AutoCloseable
@NotThreadSafe
public class ReverseValueIterator<Concrete extends ReverseValueIterator<Concrete>>
extends Walker<Concrete>
Thread-unsafe reverse value iterator for on-disk tries. Uses the assumptions of
Walker.
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 (see
ReverseValueIterator(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
ConstructorsModifierConstructorDescriptionprotectedReverseValueIterator(Rebufferer source, long root) protectedReverseValueIterator(Rebufferer source, long root, ByteComparable start, ByteComparable end, boolean admitPrefix) Constrained iterator. -
Method Summary
Modifier and TypeMethodDescriptionprotected longReturns 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 Details
-
ReverseValueIterator
-
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
-
-
Method Details
-
nextPayloadedNode
protected long nextPayloadedNode()Returns the position of the next node with payload contained in the iterated span.
-