commit | dbee9bf49a5146a2e177dc5d53d2dbb6167aeb40 | [log] [tgz] |
---|---|---|
author | Davide Pesavento <davidepesa@gmail.com> | Thu Apr 02 16:20:12 2020 -0400 |
committer | Davide Pesavento <davidepesa@gmail.com> | Thu Apr 02 16:23:05 2020 -0400 |
tree | 3c0a123466c5986cfe3ea4c7068fbe8805806bc1 | |
parent | d6a0956c351f1a6d880a2846319988a4932dda32 [diff] |
ci: update Travis configuration * Add testing on arm64, ppc64le, and s390x with select compiler versions (s390x is allowed to fail due to bug #5098) * Drop all versions of gcc < 7 and clang < 5 * Add clang 11 (development branch) * Reenable ASan on Linux with clang 7, the upstream bug has been fixed * Drop Xcode 9.2 (macOS 10.12 is no longer supported) * Upgrade Xcode 11 to 11.3 Change-Id: I87c5c76ee4fd7295c4bd5ffce6a30076e0d0143e
In supporting many distributed applications, such as group text messaging, file sharing, and joint editing, a basic requirement is the efficient and robust synchronization of knowledge about the dataset such as text messages, changes to the shared folder, or document edits. This library implements the ChronoSync protocol, which exploits the features of the Named Data Networking architecture to efficiently synchronize the state of a dataset among a distributed group of users. Using appropriate naming rules, ChronoSync summarizes the state of a dataset in a condensed cryptographic digest form and exchange it among the distributed parties. Differences of the dataset can be inferred from the digests and disseminated efficiently to all parties. With the complete and up-to-date knowledge of the dataset changes, applications can decide whether or when to fetch which pieces of the data.
ChronoSync uses the ndn-cxx library.
To build ChronoSync from the 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
.
Please submit any bug reports or feature requests to the ChronoSync issue tracker.
We greatly appreciate contributions to the ChronoSync code base, provided that they are licensed under the GPL 3.0+ or a compatible license (see below). If you are new to the NDN software community, please read the Contributor's Guide to get started.
ChronoSync is an open source project licensed under the GPL version 3. See COPYING.md
for more information.