blob: 226ca268e6cc948bd8f965f531b4c686de4c4d89 [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
4PSync is an ndn-cxx based C++ library for name synchronization that uses
5
6PSync library implements the `PSync protocol <https://named-data.net/wp-content/uploads/2017/05/scalable_name-based_data_synchronization.pdf>`_. It uses Invertible
7Bloom Lookup Table (IBLT), also known as Invertible Bloom Filter (IBF), to represent the state
8of a producer in partial sync mode and the state of a node in full sync mode. An IBF is a compact data
9structure where difference of two IBFs can be computed efficiently.
10In partial sync, PSync uses a Bloom Filter to represent the subscription of list of the consumer.
11PSync uses `ndn-cxx <https://github.com/named-data/ndn-cxx>`_ library as NDN development
12library.
13
14PSync is an open source project licensed under LGPL 3.0 (see ``COPYING.md`` for more
15detail). We highly welcome all contributions to the PSync code base, provided that
16they can be licensed under LGPL 3.0+ or other compatible license.
17
18Please submit any bugs or issues to the `PSync issue tracker
19<https://redmine.named-data.net/projects/PSync/issues>`__.
20
21PSync Documentation
22-------------------
23
24.. toctree::
25 :hidden:
26 :maxdepth: 3
27
28 install
29 examples
30 RELEASE-NOTES
31 releases
32
33- :doc:`install`
34- :doc:`examples`
35- :doc:`RELEASE-NOTES`
36- :doc:`releases`