{"id":13548474,"url":"https://github.com/named-data/ChronoSync","last_synced_at":"2025-04-02T21:31:36.752Z","repository":{"id":7275841,"uuid":"8589600","full_name":"named-data/ChronoSync","owner":"named-data","description":"NDN sync library for multiuser realtime applications (deprecated, use ndn-svs or PSync)","archived":false,"fork":true,"pushed_at":"2025-03-25T05:24:51.000Z","size":2819,"stargazers_count":28,"open_issues_count":0,"forks_count":14,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-03-25T06:25:49.397Z","etag":null,"topics":["cpp","library","ndn","sync"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"zhenkai/sync","license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/named-data.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-03-05T21:30:59.000Z","updated_at":"2025-03-25T05:24:55.000Z","dependencies_parsed_at":"2023-01-17T00:01:20.950Z","dependency_job_id":null,"html_url":"https://github.com/named-data/ChronoSync","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/named-data%2FChronoSync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/named-data%2FChronoSync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/named-data%2FChronoSync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/named-data%2FChronoSync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/named-data","download_url":"https://codeload.github.com/named-data/ChronoSync/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246895784,"owners_count":20851325,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","library","ndn","sync"],"created_at":"2024-08-01T12:01:10.839Z","updated_at":"2025-04-02T21:31:36.284Z","avatar_url":"https://github.com/named-data.png","language":"C++","readme":"# ChronoSync: synchronization library for distributed realtime applications for NDN\n\n![Latest version](https://img.shields.io/github/v/tag/named-data/ChronoSync?label=Latest%20version)\n![Language](https://img.shields.io/badge/C%2B%2B-17-blue)\n[![CI](https://github.com/named-data/ChronoSync/actions/workflows/ci.yml/badge.svg)](https://github.com/named-data/ChronoSync/actions/workflows/ci.yml)\n[![Docs](https://github.com/named-data/ChronoSync/actions/workflows/docs.yml/badge.svg)](https://github.com/named-data/ChronoSync/actions/workflows/docs.yml)\n\n\u003e [!NOTE]\n\u003e DEPRECATION NOTICE: ChronoSync's design is outdated. We recommend using more recent\n\u003e sync protocols, such as [PSync](https://docs.named-data.net/PSync/)\n\u003e or [StateVectorSync](https://named-data.github.io/StateVectorSync/).\n\nIn supporting many distributed applications, such as group text messaging, file sharing,\nand joint editing, a basic requirement is the efficient and robust synchronization of\nknowledge about the dataset such as text messages, changes to the shared folder, or\ndocument edits.  This library implements the\n[ChronoSync protocol](https://named-data.net/wp-content/uploads/2014/03/chronosync-icnp2013.pdf),\nwhich exploits the features of the Named Data Networking architecture to efficiently\nsynchronize the state of a dataset among a distributed group of users.  Using appropriate\nnaming rules, ChronoSync summarizes the state of a dataset in a condensed cryptographic\ndigest form and exchange it among the distributed parties.  Differences of the dataset can\nbe inferred from the digests and disseminated efficiently to all parties.  With the\ncomplete and up-to-date knowledge of the dataset changes, applications can decide whether\nor when to fetch which pieces of the data.\n\nChronoSync uses the [ndn-cxx](https://github.com/named-data/ndn-cxx) library.\n\n## Installation\n\n### Prerequisites\n\n* [ndn-cxx and its dependencies](https://docs.named-data.net/ndn-cxx/current/INSTALL.html)\n\n### Build\n\nTo build ChronoSync from source:\n\n    ./waf configure\n    ./waf\n    sudo ./waf install\n\nTo build on memory constrained systems, please use `./waf -j1` instead of `./waf`. This\nwill disable parallel compilation.\n\nIf configured with tests (`./waf configure --with-tests`), the above commands will also\nbuild a suite of unit tests that can be run with `./build/unit-tests`.\n\n## Reporting bugs\n\nPlease submit any bug reports or feature requests to the\n[ChronoSync issue tracker](https://redmine.named-data.net/projects/chronosync/issues).\n\n## Contributing\n\nContributions to ChronoSync are greatly appreciated and can be made through our\n[Gerrit code review site](https://gerrit.named-data.net/).\nIf you are new to the NDN software community, please read our [Contributor's Guide](\nhttps://github.com/named-data/.github/blob/main/CONTRIBUTING.md) to get started.\n\n## License\n\nChronoSync is free software distributed under the GNU General Public License version 3.\nSee [`COPYING.md`](COPYING.md) for details.\n","funding_links":[],"categories":["C++","cpp"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnamed-data%2FChronoSync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnamed-data%2FChronoSync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnamed-data%2FChronoSync/lists"}