Package org.apache.cassandra.db
Class ClusteringPrefix.Deserializer
- java.lang.Object
-
- org.apache.cassandra.db.ClusteringPrefix.Deserializer
-
- Enclosing interface:
- ClusteringPrefix<V>
public static class ClusteringPrefix.Deserializer extends java.lang.Object
Helper class that makes the deserialization of clustering prefixes faster.The main reason for this is that when we deserialize rows from sstables, there is many cases where we have a bunch of rows to skip at the beginning of an index block because those rows are before the requested slice. This class make sure we can answer the question "is the next row on disk before the requested slice" with as little work as possible. It does that by providing a comparison method that deserialize only what is needed to decide of the comparison.
-
-
Constructor Summary
Constructors Constructor Description Deserializer(ClusteringComparator comparator, DataInputPlus in, SerializationHeader header)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> int
compareNextTo(ClusteringBoundOrBoundary<T> bound)
ClusteringBoundOrBoundary<byte[]>
deserializeNextBound()
Clustering<byte[]>
deserializeNextClustering()
void
prepare(int flags, int extendedFlags)
ClusteringPrefix.Kind
skipNext()
-
-
-
Constructor Detail
-
Deserializer
public Deserializer(ClusteringComparator comparator, DataInputPlus in, SerializationHeader header)
-
-
Method Detail
-
prepare
public void prepare(int flags, int extendedFlags) throws java.io.IOException
- Throws:
java.io.IOException
-
compareNextTo
public <T> int compareNextTo(ClusteringBoundOrBoundary<T> bound) throws java.io.IOException
- Throws:
java.io.IOException
-
deserializeNextBound
public ClusteringBoundOrBoundary<byte[]> deserializeNextBound() throws java.io.IOException
- Throws:
java.io.IOException
-
deserializeNextClustering
public Clustering<byte[]> deserializeNextClustering() throws java.io.IOException
- Throws:
java.io.IOException
-
skipNext
public ClusteringPrefix.Kind skipNext() throws java.io.IOException
- Throws:
java.io.IOException
-
-