Change-Id: I4b0b4cc3eae000aa1c988c5d308c3f78052ad96d
PSync: Partial and Full Synchronization Library for NDN
The PSync library implements the PSync protocol. It uses Invertible Bloom Lookup Table (IBLT), also known as Invertible Bloom Filter (IBF), to represent the state of a producer in partial sync mode and the state of a node in full sync mode. An IBF is a compact data structure where difference of two IBFs can be computed efficiently. In partial sync, PSync uses a Bloom Filter to represent the subscription list of the consumer.
PSync uses the ndn-cxx library.
Installation
Prerequisites
Build
To build PSync from source:
./waf configure
./waf
sudo ./waf install
To build on memory constrained platform, please use ./waf -j1 instead of ./waf. The
command will disable parallel compilation.
If configured with tests (./waf configure --with-tests), the above commands will also
generate unit tests that can be run with ./build/unit-tests.
Reporting bugs
Please submit any bug reports or feature requests to the PSync issue tracker.
Contributing
We greatly appreciate contributions to the PSync code base, provided that they are licensed under the GNU LGPL version 3 or a compatible license. If you are new to the NDN software community, please read our Contributor's Guide to get started.
License
PSync is free software distributed under the GNU Lesser General Public License version 3.
See COPYING.md for details.