# Package org.apache.cassandra.utils

Interface Summary
BatchRemoveIterator<T>: Iterator that allows us to more efficiently remove many items
CloseableIterator<T>
CoalescingStrategies.Coalescable
FastByteOperations.ByteOperations
IFilter
IFilter.FilterKey
IMergeIterator<In,Out>
OutputHandler
SearchIterator<K,V>

Class Summary
AlwaysPresentFilter
AsymmetricOrdering<T1,T2>
BackgroundActivityMonitor
BiMultiValMap<K,V>: A variant of BiMap which does not enforce uniqueness of values.
BloomCalculations: The following calculations are taken from: http://www.cs.wisc.edu/~cao/papers/summary-cache/node8.html "Bloom Filters - the math" This class's static methods are meant to facilitate the use of the Bloom Filter class by helping to choose correct values of 'bits per element' and 'number of hash functions, k'.
BloomCalculations.BloomSpecification: A wrapper class that holds two key parameters for a Bloom Filter: the number of hash functions used, and the number of buckets per element used.
BloomFilter
BooleanSerializer

ByteBufferUtil

Utility methods to make ByteBuffers less painful The following should illustrate the different ways byte buffers can be used public void testArrayOffet() { byte[] b = "test_slice_array".getBytes(); ByteBuffer bb = ByteBuffer.allocate(1024); assert bb.position() == 0; assert bb.limit() == 1024; assert bb.capacity() == 1024; bb.put(b); assert bb.position() == b.length; assert bb.remaining() == bb.limit() - bb.position(); ByteBuffer bb2 = bb.slice(); assert bb2.position() == 0; //slice should begin at other buffers current position assert bb2.arrayOffset() == bb.position(); //to match the position in the underlying array one needs to //track arrayOffset assert bb2.limit()+bb2.arrayOffset() == bb.limit(); assert bb2.remaining() == bb.remaining(); } }

BytesReadTracker: This class is to track bytes read from given DataInput
CassandraVersion: Implements versioning used in Cassandra and CQL.
CLibrary
CoalescingStrategies
CoalescingStrategies.CoalescingStrategy
ConcurrentBiMap<K,V>: A variant of BiMap that permits concurrent access, and expects uniqueness of values in both domain and range.
CounterId
CRC32Factory: CRC Factory that uses our pure java crc for default
DefaultInteger
EstimatedHistogram
EstimatedHistogram.EstimatedHistogramSerializer
ExpiringMap<K,V>
ExpiringMap.CacheableObject<T>
FastByteOperations: Utility code to do optimized byte-array comparison.
FastByteOperations.PureJavaOperations
FastByteOperations.UnsafeOperations
FBUtilities
FilterFactory
GuidGenerator
HeapUtils: Utility to log heap histogram.
Hex
HistogramBuilder: Simple class for constructing an EsimtatedHistogram from a set of predetermined values
Interval<C,D>
IntervalTree<C extends java.lang.Comparable<? super C>,D,I extends Interval<C,D>>
IntervalTree.Serializer<C extends java.lang.Comparable<? super C>,D,I extends Interval<C,D>>
JavaUtils: Utility method to retrieve information about the JRE.
JVMStabilityInspector: Responsible for deciding whether to kill the JVM if it gets in an "unstable" state (think OOM).
JVMStabilityInspector.Killer
MD5Digest: The result of the computation of an MD5 digest.
MergeIterator<In,Out>: Merges sorted input iterators which individually contain unique items.
MergeIterator.Candidate<In>
MergeIterator.Reducer<In,Out>: Accumulator that collects values of type A, and outputs a value of type B.
MerkleTree: A MerkleTree implemented as a binary tree.
MerkleTree.MerkleTreeSerializer
MerkleTree.RowHash: Hash value representing a row, to be used to pass hashes to the MerkleTree.
MerkleTree.TreeDifference
MerkleTree.TreeRange: The public interface to a range in the tree.
MerkleTree.TreeRangeIterator: Returns the leaf (range) of a given tree in increasing order.
MurmurHash: This is a very fast, non-cryptographic hash suitable for general hash-based lookup.
Mx4jTool: If mx4j-tools is in the classpath call maybeLoad to load the HTTP interface of mx4j.
NanoTimeToCurrentTimeMillis
NativeSSTableLoaderClient
NoSpamLogger: Logging that limits each log statement to firing based on time since the statement last fired.
ObjectSizes: A convenience class for wrapping access to MemoryMeter
OutputHandler.LogOutput
OutputHandler.SystemOutput
OverlapIterator<I extends java.lang.Comparable<? super I>,V>: A class for iterating sequentially through an ordered collection and efficiently finding the overlapping set of matching intervals.
Pair<T1,T2>
PureJavaCrc32: NOTE: You should be using CRCFactory class because it will pick a better version based on your JDK version A pure-java implementation of the CRC32 checksum that uses the same polynomial as the built-in native CRC32.
ResourceWatcher
ResourceWatcher.WatchedResource
RMIServerSocketFactoryImpl
SigarLibrary
SortedBiMultiValMap<K,V>
StatusLogger
StreamingHistogram: Histogram that can be constructed from streaming of data.
StreamingHistogram.StreamingHistogramSerializer
SyncUtil
Throwables
TopKSampler<T>
TopKSampler.SamplerResult<S>: Represents the cardinality and the topK ranked items collected during a sample period
UUIDGen: The goods are here: www.ietf.org/rfc/rfc4122.txt.
UUIDSerializer
WindowsTimer
WrappedRunnable

Enum Summary
AsymmetricOrdering.Op
NoSpamLogger.Level: Levels for programmatically specifying the severity of a log statement