NDN Common Client Libraries (NDN-CCL) Documentation

The NDN Common Client Libraries (NDN-CCL) are written in C++, Python, JavaScript, Java and .NET (C#) and provide a common API for client applications to use NDN. Any library in NDN-CCL suite allows an application to send interests to and receive data from an NDN forwarding daemon (NFD) and provide a large set of other functions necessary for any NDN application.

Potential contributors to the NDN-CCL should review the NDN-CCL Development Guidelines.

Supported Features

Feature NDN-
CPP
PyNDN NDN-JS jNDN NDN-
DOT-
NET
Notes
MemoryContentCache ✓ ✓ ✓ ✓ ✓
ChronoSync2013 ✓ ✓ ✓ ✓ ✓
Name.Component from* ✓ ✓ ✓ ✓ ✓
Name.Component is* ✓ ✓ ✓ ✓ ✓
Name.Component to* ✓ ✓ ✓ ✓ ✓
typed name components ✓ ✓ ✓ ✓ ✓
ImplicitSha256DigestComponent ✓ ✓ ✓ ✓ ✓
ParametersSha256DigestComponent ✓ ✓ ✓ ✓ ✓
ProtobufTlv ✓ API ✓ API ✓ API ✓ API ✓ API
SegmentFetcher ✓ API ✓ API ✓ API ✓ API ✓ API
ConfigPolicyManager ✓ API ✓ API ✓ API ✓ API ✓ API
ControlResponse ✓ API ✓ API ✓ API ✓ API ✓ API
Face.setInterestFilter ✓ ✓ ✓ ✓ ✓
Face.setInterestLoopbackEnabled ✓ ✓ ✓ ✓ ✓
Interest forwarding hint ✓ ✓ ✓ ✓ ✓
NDNLPv2 NetworkNack ✓ ✓ ✓ ✓ ✓
NDNLPv2 IncomingFaceId (Interest, Data) ✓ ✓ ✓ ✓ ✓
NDNLPv2 CongestionMark (Data) ✓ ✓ ✓ ✓ ✓
remote prefix registration ✓ ✓ ✓ ✓ ✓
FilePrivateKeyStorage ✓ API ✓ API ✓ API ✓ API ✓ API
BasicIdentityStorage ✓ API ✓ API ✓ API ✓ API ✓ API
encrypt/EncryptedContent ✓ API ✓ API ✓ API ✓ API ✓ API
encrypt/AesAlgorithm, RsaAlgorithm ✓ ✓ ✓ ✓ ✓
encrypt/AccessControlV2 ✓ ✓ ✓ ✓ ✓
encrypt/EncryptorV2 ✓ ✓ ✓ ✓ ✓
encrypt/DecryptorV2 ✓ ✓ ✓ ✓ ✓
NDN regex ✓ ✓ ✓ ✓ ✓
Sha256WithRsaSignature,
HmacWithSha256Signature, DigestSha256Signature
✓ ✓ ✓ ✓ ✓
GenericSignature ✓ ✓ ✓ ✓ ✓
onValidationFailed reason string ✓ ✓ ✓ ✓ ✓
Alternative Data packet content type codes ✓ ✓ ✓ ✓ ✓
Certificate Format 2.0 ✓ ✓ ✓ ✓ ✓
Async I/O, ThreadsafeFace ✓API ✓API N/A ✓API ✓
Security v2 API (Pib, Tpm, etc.) ✓ ✓ ✓ ✓ ✓
Rename KeyType ECDSA to EC ✓ ✓ ✓ ✓ ✓ https://redmine.named-data.net/issues/4064
examples: TestChronoChat,
TestEchoConsumer,
TestEncodeDecodeBenchmark,
TestEncodeDecodeData,
TestEncodeDecodeFibEntry,
TestEncodeDecodeInterest,
TestGetAsync,
TestGetAsyncThreadSafe,
TestListChannels,
TestListFaces,
TestListRib,
TestPublishAsyncNfd,
TestRegisterRoute,
TestSignVerifyDataHmac
✓ ✓ ✓ ✓ some
examples/repo_ng:
BasicInsertion,
WatchedInsertion
✓ ✓ ✓ ✓
Sha256WithEcdsaSignature ✓ ✓ Node.js ✓ NDN-JS: Firefox subtle doesn’t import PKCS8 private keys.
Add API to ask NFD for local prefix http://named-data.net/doc/NFD/current/misc/local-prefix-discovery.html.