trachten / cpisync

A library for synchronizing remote data with minimum communication.
GNU General Public License v3.0
26 stars 11 forks source link

Communicant refactor #80

Closed arorashu closed 1 year ago

arorashu commented 3 years ago

Addresses Issue#68

I have created an abstract class Serializable, that exposes two methods vector<byte> toByteVector() and void fromByteVector(vector<byte> buffer).

I have changed the impementations of following non-interactive syncs / data structures to use this interface:

  1. CuckooSync
  2. IBLTSync
  3. IBLTMultisetSync
  4. IBLTSetsOfSets

I also streamlined (cleaned up) a lot of the IBLTMultiset implementation