Module types

Source

Macros§

impl_fuzzy_hash

Structs§

FilterLayerIterator
A LayerIterator`` that filters the items of another LayerIterator`.
Item
Item is a struct that combines a key and a value.
ItemRef
ItemRef is a struct that contains references to key and value, which is useful since in many cases since keys and values are stored separately so &Item is not possible.

Enums§

ItemCount
See Layer::len.
MergeType
Result returned by merge_type() to determine how to properly merge values within a layerset.

Traits§

DefaultOrdLowerBound
DefaultOrdUpperBound
FuzzyHash
An extension to std::hash::Hash to support values which should be partitioned and hashed into buckets, where nearby keys will have the same hash value. This is used for existence filtering in layer files (see Layer::maybe_contains_key).
Key
Keys and values need to implement the following traits. For merging, they need to implement MergeableKey. TODO: Use trait_alias when available.
Layer
Layer is a trait that all layers need to implement (mutable and immutable).
LayerIterator
Something that implements LayerIterator is returned by the seek function.
LayerKey
Determines how to iterate forward from the current key, and how many older layers to include when merging. See the different variants of MergeKeyType for more details.
LayerValue
Trait required for supporting Layer functionality.
LayerWriter
Trait for writing new layers.
MergeableKey
OrdLowerBound
OrdUpperBound
The find functions will return items with keys that are greater-than or equal to the search key, so for keys that are like extents, the keys should sort (via OrdUpperBound) using the end of their ranges, and you should set the search key accordingly.
RangeKey
SortByU64
Value
Superset of LayerValue to additionally support tree searching, requires comparison and an DELETED_MARKER for indicating empty values used to indicate deletion in the LSMTree.

Type Aliases§

BoxedItem
BoxedLayerIterator