Expand description
An efficient implementation of Rateless Invertable Bloom Lookup Tables (riblt) The paper can be found here: https://arxiv.org/abs/2402.02668
This crate can be used to efficiently synchronize sets between two devices Why use riblts?
- they are rateless (there are infinite symbols)
- they are universal (you don’t need to know anything from the other side to begin with)
- they provide low transportation cost (only around 1.3 to 1.7 the amount of symbols need to be send)
- they provide low computation cost (by using mostly XOR operations)
Structs§
- Cached
Encoder - A cached version of the encoder Useful to synchronize one set with multiple remotes at once (without calculating the symbols multiple times)
- Coded
Symbol - A symbol to send from an encoder to a decoder
- Decoder
- The decoder to calculate set differences
- Encoder
- The encoder to calculate
CodedSymbols from a set of items
Enums§
- Peeled
- A peeled symbol
Traits§
- Symbol
- A trait to implement on everything that can be an item for a
Encoderor aDecoder.