NDN Client Library for C++ and C
Clone or download
Permalink
Failed to load latest commit information.
.travis.d Add Travis-CI script to build and auto-deploy documentation Sep 15, 2017
android-native android-native: In Android.mk, added congestion mark and security v2.… May 10, 2018
contrib contrib: Added sqlite3. Jul 20, 2017
examples examples: In test-get-async, change the demo host to memoria. Jun 19, 2018
include encrypt: In EncryptError, added V2 error codes. Refs #4655. Oct 22, 2018
m4 configure: Updated AX_BOOST_BASE to version 2015-03-27. Jul 18, 2015
src ThreadsafeFace (internal): In putData, check the encoding size before… Oct 16, 2018
tests/unit-tests Name: The successor of / is /sha256digest=000000000000000000000000000… Sep 8, 2018
tools/usersync global (minor): Code style: Remove trailing spaces. Jul 26, 2018
visual-studio visual-studio: in ndn-cpp-config.h, set NDN_CPP_HAVE_ROUND to 1. Feb 19, 2016
.gitignore .gitignore: Also ignore Protobuf output files. Dec 20, 2017
.travis.yml travis-ci: corrected yaml file Oct 21, 2018
CHANGELOG CHANGELOG: Tag release 0.15. Sep 17, 2018
COPYING Global: Change the license to LGPLv3. May 21, 2014
Doxyfile Doxyfile: Exclude the contrib folder. Jun 24, 2014
INSTALL.md INSTALL: In Ubuntu 16.04+, use liblog4cxx-dev (not liblog4cxx10-dev). Apr 27, 2018
Makefile.am security: Added CommandInterestPreparer. Jun 14, 2018
Makefile.in security: Added CommandInterestPreparer. Jun 14, 2018
README-NDN-CPP-Lite.md README-NDN-CPP-Lite (minor): Fix typo. Jun 9, 2015
README.md README: Added code contributions link. Jan 2, 2018
aminclude.am Added support for make doxygen-doc Jun 27, 2013
ar-lib Makefile: Rebuild using autotools from Homebrew. Apr 4, 2018
autogen.sh Make: In autogen.sh, don't run ./configure since the user may want to… Jan 24, 2014
compile Makefile: Rebuild using autotools from Homebrew. Apr 4, 2018
config.guess Makefile: Rebuild using autotools from Homebrew. Apr 4, 2018
config.sub Makefile: Rebuild using autotools from Homebrew. Apr 4, 2018
configure configure: Change to version 0.15. Sep 17, 2018
configure.ac configure: Change to version 0.15. Sep 17, 2018
depcomp Makefile: Rebuild using autotools from Homebrew. Apr 4, 2018
install-sh Makefile: Rebuild using autotools from Homebrew. Apr 4, 2018
libndn-cpp.pc.in make: Added libndn-cpp.pc . Nov 6, 2014
log4cxx.properties forked from cawka/ndn.cxx Jun 17, 2013
ltmain.sh Makefile: Rebuild using autotools from Homebrew. Apr 4, 2018
missing Makefile: Rebuild using autotools from Homebrew. Apr 4, 2018
protobuf-stub.txt protobuf-stub.txt (minor): In the error message, suggest make clean. Dec 21, 2017
test-driver Makefile: Rebuild using autotools from Homebrew. Apr 4, 2018

README.md


NDN-CPP: A Named Data Networking client library for C++ and C

NDN-CPP is a new implementation of a Named Data Networking client library written in C++ and C. It is wire format compatible with the NDN-TLV encoding.

NDN-CPP conforms to the NDN Common Client Libraries API and your application should follow this public API: http://named-data.net/doc/ndn-ccl-api/ . Further classes and methods are in the Doxygen-generated documentation.

See the file INSTALL.md for build and install instructions.

If you are new to the NDN community of software generally, read the Contributor's Guide. Proposed code contributions should use a GitHub pull request.

Please submit any bugs or issues to the NDN-CPP issue tracker: http://redmine.named-data.net/projects/ndn-cpp/issues


The library currently requires a remote NDN daemon, and has been tested with the NFD forwarder: https://github.com/named-data/NFD

Currently, the library has two APIs for developers:

1. The C++ API which follows the NDN Common Client Library API also used by ndn-js (JavaScript)
 and PyNDN (Python). See http://named-data.net/doc/ndn-ccl-api .

2. A core C library implementing lower-level encoding and communication.  Applications should normally
 use the C++ API, but core C code will also function on embedded devices and other environments
 which don't have C++ support.

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.