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