blob: 8dda47278b79d6aa0b6dbc15721f4b234fdc09e6 [file] [log] [blame]
Ashlesh Gawande0b2897e2018-06-20 14:40:47 -05001PSYNC - Partial/Full Sync Library based on BF and IBF
2=====================================================
Ashlesh Gawande465d1492019-01-10 15:12:01 -06003
Davide Pesavento51189592021-10-02 22:34:34 -04004PSync is a C++ library for name synchronization that implements the `PSync protocol
5<https://named-data.net/wp-content/uploads/2017/05/scalable_name-based_data_synchronization.pdf>`__.
6It uses Invertible Bloom Lookup Table (IBLT), also known as Invertible Bloom Filter (IBF),
7to represent the state of a producer in partial sync mode and the state of a node in full
8sync mode. An IBF is a compact data structure where difference of two IBFs can be computed
9efficiently. In partial sync, PSync uses a Bloom Filter to represent the subscription of
10list of the consumer.
Ashlesh Gawande465d1492019-01-10 15:12:01 -060011
Davide Pesavento51189592021-10-02 22:34:34 -040012PSync uses the `ndn-cxx <https://github.com/named-data/ndn-cxx>`__ library.
Ashlesh Gawande465d1492019-01-10 15:12:01 -060013
Davide Pesavento51189592021-10-02 22:34:34 -040014Contributing
15------------
Ashlesh Gawande465d1492019-01-10 15:12:01 -060016
Davide Pesavento51189592021-10-02 22:34:34 -040017We greatly appreciate contributions to the PSync code base, provided that they are
18licensed under the LGPL 3.0+ or a compatible license (see `COPYING.md
19<https://github.com/named-data/PSync/blob/master/COPYING.md>`__ for more information).
20If you are new to the NDN software community, please read the `Contributor's Guide
21<https://github.com/named-data/.github/blob/master/CONTRIBUTING.md>`__ to get started.
22
23Please submit any bug reports or feature requests to the `PSync issue tracker
24<https://redmine.named-data.net/projects/psync/issues>`__.
Ashlesh Gawande465d1492019-01-10 15:12:01 -060025
26PSync Documentation
27-------------------
28
29.. toctree::
30 :hidden:
Davide Pesavento51189592021-10-02 22:34:34 -040031 :maxdepth: 2
Ashlesh Gawande465d1492019-01-10 15:12:01 -060032
33 install
34 examples
35 RELEASE-NOTES
36 releases
37
38- :doc:`install`
39- :doc:`examples`
40- :doc:`RELEASE-NOTES`
Davide Pesavento51189592021-10-02 22:34:34 -040041- :doc:`releases`