Return the load of this filter
load: is the load, size is the number of entries, free is the free number of entries, used is the number of entry used
For a element, compute its fingerprint and the index of its two buckets
The element to hash
The fingerprint of the element and the index of its two buckets
Add an element to the filter, if false is returned, it means that the filter is considered as full.
The element to add
True if the insertion is a success, False if the filter is full
Return a new optimal CuckooFilter given the number of maximum elements to store and the error rate desired
The number of items to store
The desired error rate
The number of buckets desired per cell
The number of kicks done when a collision occurs
A Cuckoo Filter optimal for these parameters
Check if another Cuckoo filter is equal to this one
The cuckoo filter to compare to this one
True if they are equal, false otherwise
Build a new optimal CuckooFilter from an iterable with a fixed error rate
Iterable used to populate the filter
The error rate of the filter
The number of buckets desired per cell
The number of kicks done when a collision occurs
A new Cuckoo Filter filled with the iterable's elements
Load an Object from a provided JSON object
the JSON object to load
Return the Object loaded from the provided JSON object
Test an element for membership
The element to look for in the filter
False if the element is definitively not in the filter, True is the element might be in the filter
Return a next random seeded int32 integer
Return the false positive rate for this cuckoo filter
The false positive rate
Remove an element from the filter
The element to remove
True if the element has been removed from the filter, False if it wasn't in the filter
Save the current structure as a JSON
Get the size of the buckets in the filter
Get the length of the fingerprints in the filter
Get the filter full size, i.e., the total number of cells
Get the filter length, i.e. the current number of elements in the filter
Get the max number of kicks when resolving collision at insertion
Get a function used to draw random number
A factory function used to draw random integer
Get the seed used in this structure
Set the seed for this structure
the new seed that will be used in this structure
Get the filter size
Constructor
The filter size
The length of the fingerprints
The size of the buckets in the filter
(optional) The max number of kicks when resolving collision at insertion, default to 1
Generated using TypeDoc
Cuckoo filters improve on Bloom filters by supporting deletion, limited counting, and bounded False positive rate with similar storage efficiency as a standard Bloom filter.
Reference: Fan, B., Andersen, D. G., Kaminsky, M., & Mitzenmacher, M. D. (2014, December). Cuckoo filter: Practically better than bloom. In Proceedings of the 10th ACM International on Conference on emerging Networking Experiments and Technologies (pp. 75-88). ACM.
https://www.cs.cmu.edu/~dga/papers/cuckoo-conext2014.pdf for more details about Cuckoo filters
Thomas Minier & Arnaud Grall