Iron Rose is a rust implementation of Invertable Bloom Filters as found in What's the Difference? Efficient Set Reconciliation without Prior Context
Expected use case looks something like this.
use ;
use Uuid;
let mut estimator = default;
let mut remote_estimator = default;
# let core =
# .map
# .;
# let local_ids =
# .map
# .;
# let remote_ids =
# .map
# .;
# let ids_from_database = core.iter.chain.;
for x in ids_from_database.iter
# for x in core.iter.chain
// Retreive Remote Estimator in some way
let ibf_size = estimator
.estimate_differences
.expect;
let mut local = IBFnew;
# let mut remote = IBFnew;
for x in ids_from_database.iter
# for x in core.iter.chain
// Retreive remote IBF
let diff = .expect;
let differences = diff
.decode
.expect;