Davide Pesavento | 36651f1 | 2023-01-02 17:07:21 -0500 | [diff] [blame] | 1 | PSync: Partial/Full Sync Library based on BF and IBF |
| 2 | ==================================================== |
| 3 | |
| 4 | .. toctree:: |
| 5 | :hidden: |
| 6 | :maxdepth: 2 |
| 7 | |
| 8 | install |
| 9 | examples |
| 10 | release-notes |
| 11 | releases |
Ashlesh Gawande | 465d149 | 2019-01-10 15:12:01 -0600 | [diff] [blame] | 12 | |
Davide Pesavento | 5118959 | 2021-10-02 22:34:34 -0400 | [diff] [blame] | 13 | PSync is a C++ library for name synchronization that implements the `PSync protocol |
| 14 | <https://named-data.net/wp-content/uploads/2017/05/scalable_name-based_data_synchronization.pdf>`__. |
| 15 | It uses Invertible Bloom Lookup Table (IBLT), also known as Invertible Bloom Filter (IBF), |
| 16 | to represent the state of a producer in partial sync mode and the state of a node in full |
| 17 | sync mode. An IBF is a compact data structure where difference of two IBFs can be computed |
| 18 | efficiently. In partial sync, PSync uses a Bloom Filter to represent the subscription of |
| 19 | list of the consumer. |
Ashlesh Gawande | 465d149 | 2019-01-10 15:12:01 -0600 | [diff] [blame] | 20 | |
Davide Pesavento | 5118959 | 2021-10-02 22:34:34 -0400 | [diff] [blame] | 21 | PSync uses the `ndn-cxx <https://github.com/named-data/ndn-cxx>`__ library. |
Ashlesh Gawande | 465d149 | 2019-01-10 15:12:01 -0600 | [diff] [blame] | 22 | |
Davide Pesavento | 36651f1 | 2023-01-02 17:07:21 -0500 | [diff] [blame] | 23 | Documentation |
| 24 | ------------- |
| 25 | |
| 26 | - :doc:`install` |
| 27 | - :doc:`examples` |
| 28 | - :doc:`release-notes` |
| 29 | - :doc:`releases` |
| 30 | |
Davide Pesavento | 46bac78 | 2023-02-19 20:32:24 -0500 | [diff] [blame] | 31 | Issues |
| 32 | ------ |
| 33 | |
| 34 | Please submit any bug reports or feature requests to the |
| 35 | `PSync issue tracker <https://redmine.named-data.net/projects/psync/issues>`__. |
| 36 | |
Davide Pesavento | 5118959 | 2021-10-02 22:34:34 -0400 | [diff] [blame] | 37 | Contributing |
| 38 | ------------ |
Ashlesh Gawande | 465d149 | 2019-01-10 15:12:01 -0600 | [diff] [blame] | 39 | |
Davide Pesavento | 46bac78 | 2023-02-19 20:32:24 -0500 | [diff] [blame] | 40 | Contributions to PSync are greatly appreciated and can be made through our |
| 41 | `Gerrit code review site <https://gerrit.named-data.net/>`__. |
Davide Pesavento | 36651f1 | 2023-01-02 17:07:21 -0500 | [diff] [blame] | 42 | If you are new to the NDN software community, please read our `Contributor's Guide |
Davide Pesavento | 46bac78 | 2023-02-19 20:32:24 -0500 | [diff] [blame] | 43 | <https://github.com/named-data/.github/blob/main/CONTRIBUTING.md>`__ to get started. |
Davide Pesavento | 5118959 | 2021-10-02 22:34:34 -0400 | [diff] [blame] | 44 | |
Davide Pesavento | 46bac78 | 2023-02-19 20:32:24 -0500 | [diff] [blame] | 45 | License |
| 46 | ------- |
| 47 | |
| 48 | PSync is free software: you can redistribute it and/or modify it under the terms of |
| 49 | the GNU Lesser General Public License as published by the Free Software Foundation, |
| 50 | either version 3 of the License, or (at your option) any later version. See `COPYING.md |
| 51 | <https://github.com/named-data/PSync/blob/master/COPYING.md>`__ for details. |