Skip to main content

Crate do_riblt

Crate do_riblt 

Source
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?

  1. they are rateless (there are infinite symbols)
  2. they are universal (you don’t need to know anything from the other side to begin with)
  3. they provide low transportation cost (only around 1.3 to 1.7 the amount of symbols need to be send)
  4. they provide low computation cost (by using mostly XOR operations)

Structs§

CachedEncoder
A cached version of the encoder Useful to synchronize one set with multiple remotes at once (without calculating the symbols multiple times)
CodedSymbol
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 Encoder or a Decoder.