Package com.apple.foundationdb.map
A sorted durable associative array with pluggable serialization.
The main class in this package is the BunchedMap
class. This
presents an API that is similar to a standard sorted associated array or map. It differs
from other such implementations in that it attempts to consolidate multiple entries in
the final map into each FoundationDB key-value pair. This allows the data structure to reduce its
total footprint by spreading its data across fewer keys than a naïve implementation might.
The other classes are used to support the BunchedMap
class in various ways.
-
Interface Summary Interface Description BunchedSerializer<K,V> A class to serialize and deserialize entries of aBunchedMap
.SubspaceSplitter<T> An interface to split a raw FoundationDB key into a subspace and (possibly) a "tag". -
Class Summary Class Description BunchedMap<K,V> An implementation of a FoundationDB-backed map that bunches close keys together to minimize the overhead of storing keys with a common prefix.BunchedMapIterator<K,V> An iterator implementation that will iterate over the keys of aBunchedMap
.BunchedMapMultiIterator<K,V,T> An iterator that will returnBunchedMapScanEntry
objects while scanning over multipleBunchedMap
s.BunchedMapScanEntry<K,V,T> Struct containing the results of scanning one or moreBunchedMap
s using thescanMulti()
function.BunchedTupleSerializer ABunchedSerializer
that usesTuple
s as both the expected key and value type. -
Exception Summary Exception Description BunchedMapException Exception class that can be thrown by aBunchedMap
.BunchedSerializationException Exception that can be thrown from aBunchedSerializer
while serializing or deserializing an element.