blob: e01e4b3333cb7ffed1871aafd8eed34528879f27 [file] [log] [blame] [view]
Davide Pesavento81de5d92022-12-30 01:08:05 -05001<div align="center">
2
Davide Pesaventoae39daf2023-02-14 23:46:46 -05003[<img alt height="65" src="docs/named_data_theme/static/ndn-logo.svg"/>](https://named-data.net/)
Davide Pesavento81de5d92022-12-30 01:08:05 -05004
Davide Pesavento46b04a52019-03-28 21:36:35 -04005# ndn-cxx: NDN C++ library with eXperimental eXtensions
Jeff Thompson057d3182013-08-09 17:02:25 -07006
Davide Pesavento81de5d92022-12-30 01:08:05 -05007</div>
8
Davide Pesavento09d56622021-08-23 17:44:25 -04009[![CI](https://github.com/named-data/ndn-cxx/actions/workflows/ci.yml/badge.svg)](https://github.com/named-data/ndn-cxx/actions/workflows/ci.yml)
10[![Docs](https://github.com/named-data/ndn-cxx/actions/workflows/docs.yml/badge.svg)](https://github.com/named-data/ndn-cxx/actions/workflows/docs.yml)
Davide Pesaventofcd3e442023-03-10 18:44:11 -050011![Language](https://img.shields.io/badge/C%2B%2B-17-blue)
Davide Pesavento09d56622021-08-23 17:44:25 -040012![Latest version](https://img.shields.io/github/v/tag/named-data/ndn-cxx?label=Latest%20version)
Davide Pesaventoec2fe542016-09-17 02:56:14 +020013
Davide Pesaventofcd3e442023-03-10 18:44:11 -050014**ndn-cxx** is a C++17 library implementing Named Data Networking (NDN) primitives
Davide Pesaventob310efb2019-04-11 22:10:24 -040015that can be used to write various NDN applications. The library is currently being
16used by the following projects:
Alexander Afanasyev7c6aeb02014-04-10 19:59:19 -070017
Davide Pesavento81de5d92022-12-30 01:08:05 -050018* [**NFD** - NDN Forwarding Daemon](https://github.com/named-data/NFD)
19* [**NLSR** - Named-data Link-State Routing protocol](https://github.com/named-data/NLSR)
20* [**ndn-tools** - Essential NDN command-line tools](https://github.com/named-data/ndn-tools)
21* [**ndn-svs** - State Vector Sync library](https://github.com/named-data/ndn-svs)
22* [**PSync** - Partial and full Sync library](https://github.com/named-data/PSync)
23* [**ChronoSync** - Sync library for distributed real-time applications *(deprecated)*](https://github.com/named-data/ChronoSync)
24* [**NAC** - Name-based Access Control library](https://github.com/named-data/name-based-access-control)
25* [**NDNCERT** - NDN certificate management protocol](https://github.com/named-data/ndncert)
26* [**repo-ng** - NDN repository implementation in C++ *(deprecated)*](https://github.com/named-data/repo-ng)
27* [**ndn-traffic-generator** - Simple NDN traffic generator](https://github.com/named-data/ndn-traffic-generator)
Jeff Thompson057d3182013-08-09 17:02:25 -070028
Davide Pesavento46b04a52019-03-28 21:36:35 -040029## Documentation
Jeff Thompson057d3182013-08-09 17:02:25 -070030
Davide Pesavento46b04a52019-03-28 21:36:35 -040031See [`docs/INSTALL.rst`](docs/INSTALL.rst) for compilation and installation instructions.
Jeff Thompson057d3182013-08-09 17:02:25 -070032
Davide Pesaventoae39daf2023-02-14 23:46:46 -050033Extensive documentation is available on the library's [homepage](https://docs.named-data.net/ndn-cxx/).
Alexander Afanasyev7c6aeb02014-04-10 19:59:19 -070034
Davide Pesavento46b04a52019-03-28 21:36:35 -040035## Reporting bugs
Alexander Afanasyev766cea72014-04-24 19:16:42 -070036
Davide Pesaventoae39daf2023-02-14 23:46:46 -050037Please submit any bug reports or feature requests to the
Davide Pesavento46b04a52019-03-28 21:36:35 -040038[ndn-cxx issue tracker](https://redmine.named-data.net/projects/ndn-cxx/issues).
39
40## Contributing
41
Davide Pesaventoae39daf2023-02-14 23:46:46 -050042Contributions to ndn-cxx are greatly appreciated and can be made through our
43[Gerrit code review site](https://gerrit.named-data.net/).
44If you are new to the NDN software community, please read our
45[Contributor's Guide](https://github.com/named-data/.github/blob/main/CONTRIBUTING.md)
46and [`README-dev.md`](README-dev.md) to get started.
Nick Gordonfe13f562017-12-21 14:12:37 -060047
Alexander Afanasyev766cea72014-04-24 19:16:42 -070048## License
49
Davide Pesaventoae39daf2023-02-14 23:46:46 -050050ndn-cxx is free software distributed under the GNU Lesser General Public License version 3.
51See [`COPYING.md`](COPYING.md) for details.