Package org.apache.cassandra.db.tries
-
Interface Summary Interface Description InMemoryTrie.UpsertTransformer<T,U> Somewhat similar toTrie.MergeResolver
, this encapsulates logic to be applied whenever new content is being upserted into aInMemoryTrie
.Trie.CollectionMergeResolver<T> Resolver of content of merged nodes.Trie.Cursor<T> A trie cursor.Trie.MergeResolver<T> Resolver of content of merged nodes, used for two-source merges (i.e.Trie.ResettingTransitionsReceiver Used byTrie.Cursor.advanceToContent(org.apache.cassandra.db.tries.Trie.ResettingTransitionsReceiver)
to track the transitions and backtracking taken.Trie.TransitionsReceiver Used byTrie.Cursor.advanceMultiple(org.apache.cassandra.db.tries.Trie.TransitionsReceiver)
to feed the transitions taken.Trie.ValueConsumer<T> Adapter interface providing the methods aTrie.Walker
to aConsumer
, so that the latter can be used withTrie.process(org.apache.cassandra.db.tries.Trie.Walker<T, R>)
.Trie.Walker<T,R> A push interface for walking over the trie. -
Class Summary Class Description InMemoryReadTrie<T> In-memory trie built for fast modification and reads executing concurrently with writes from a single mutator thread.InMemoryTrie<T> In-memory trie built for fast modification and reads executing concurrently with writes from a single mutator thread.SlicedTrie<T> Represents a sliced view of a trie, i.e.Trie<T> Base class for tries.TrieEntriesIterator<T,V> Convertor of trie entries to iterator where each entry is passed throughTrieEntriesIterator.mapContent(T, byte[], int)
(to be implemented by descendants).TrieEntriesWalker<T,V> Walker of trie entries, used with Trie.process to walk all content in order and provide the path through which values are reached.TriePathReconstructor -
Exception Summary Exception Description InMemoryTrie.SpaceExhaustedException Because we use buffers and 32-bit pointers, the trie cannot grow over 2GB of size.