build: require gcc >= 9.1, recommend gcc >= 10.2

Similarly, recommend clang 10 or later. On macOS, the minimum Xcode
version is now 11, the recommended one is still 13 or later.

Also remove unnecessary dependency on libboost-filesystem.

Change-Id: I79eb1c018dcffeb272589f4a027bf7c90fd47521
2 files changed
tree: ae1da9d2e942368a3f5820cf4f4c787bc4b29d9e
  1. .github/
  2. .jenkins.d/
  3. .waf-tools/
  4. docs/
  5. examples/
  6. PSync/
  7. tests/
  8. .editorconfig
  9. .gitignore
  10. .jenkins
  11. AUTHORS.md
  12. COPYING.lesser
  13. COPYING.md
  14. PSync.pc.in
  15. README.md
  16. waf
  17. wscript
README.md

PSync: Partial and Full Synchronization Library for NDN

Latest version Language CI Docs

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 systems, please use ./waf -j1 instead of ./waf. This will disable parallel compilation.

If configured with tests (./waf configure --with-tests), the above commands will also build a suite of 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

Contributions to PSync are greatly appreciated and can be made through our Gerrit code review site. 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 and COPYING.lesser for details.

PSync contains third-party software, licensed under the following licenses: