tag | 76a4f4f8e9885d9bb4ccad7ba8316f5d63ad1401 | |
---|---|---|
tagger | Alexander Afanasyev <alexander.afanasyev@ucla.edu> | Thu May 08 20:57:53 2014 -0700 |
object | cfe0b06cce85dc091858680a740c2b4bd493a759 |
ndn-cxx v0.1.0 Release Notes ============================ Version 0.1.0 is the initial release of ndn-cxx, an NDN C++ library with eXperimental eXtensions. Originally based on [ndn-cpp library](https://github.com/named-data/ndn-cpp) the ndn-cxx library adopts a slightly different design philosophy (including an extensive use of Boost libraries to facilitate development, as well as the use of Crypto++ library to support cryptographic operations), and includes a number of extensions that aim to simplify NDN application development. The current features include: - **Base** - Fully asynchronous, event-driven communication model, which is implemented using [Boost.Asio](http://www.boost.org/doc/libs/1_48_0/doc/html/boost_asio.html) - Single-threaded, but thread-safe Face operations > A single Face object can be safely used in multiple threads to express Interests and > publish Data packets - Explicit time management for NDN operations using [Boost.Chrono](http://www.boost.org/doc/libs/1_48_0/doc/html/chrono.html) - Simplified and extended [NDN API](doxygen/annotated.html) - Extensive set of unit-tests based on [Boost.Test framework](http://www.boost.org/doc/libs/1_48_0/libs/test/doc/html/index.html) - Continuous integration using an in-house installation of Jenkins build bots and the hosted [Travis CI](https://travis-ci.org/named-data/ndn-cxx) continuous integration service compile and verify correctness of the library for each commit - **Wire format** - Full support of [NDN-TLV packet format v0.1](http://named-data.net/doc/NDN-TLV/0.1/) - Pure C++ implementation of wire encoding/decoding with simple access to wire format of all NDN packet abstractions via `wireEncode` and `wireDecode` methods > In many cases, NDN packet abstractions are just "indices" to the wire format - **Communication with the forwarder** - Enable connecting to local forwarder via UNIX and TCP transports and to remote forwarders using TCP transport - Full support for communication with [Named Data Networking Forwarding Daemon (NFD)](https://github.com/named-data/NFD) - Full support for [NFD management protocols](http://redmine.named-data.net/projects/nfd/wiki/Management) to NFD status information, create and manage NFD Faces, receive NFD Face status change notifications, update StrategyChoice for namespaces, and manage routes in RIB - Support for [LocalControlHeader](http://redmine.named-data.net/projects/nfd/wiki/LocalControlHeader) to implement special NDN applications that need low-level control of NDN packet forwarding - **Security support** - A set of security primitives to allowing implementation of secure NDN applications in a simplified manner - **KeyChain**: provides simple interfaces of packet signing, and key and certificate management - **ValidatorConfig**: validator that implements trust model defined in a configuration file - **CommandInterestGenerator** and **CommandInterestValidator**: convenient helpers to produce and validate command interests, while preventing potential replay attacks - Several implementations of trusted platform modules to securely manage private keys - **SecTpmOsx**: TPM based on OSX KeyChain (OSX-specific) - **SecTpmFile**: TPM that uses file-based access control to protect keys (cross-platform) - Extensive set of security command-line tools to manage security identities and certificates - Generating private/public keys - Issuing certificates - Exporting/importing identities - Managing default security settings - **Miscellaneous tools** - Scheduler to support delayed time operations - NDN regular expressions - Simple config file to alter various aspects of the library - **tlvdump**: a simple tool to visualize TLV-encoded blocks
commit | cfe0b06cce85dc091858680a740c2b4bd493a759 | [log] [tgz] |
---|---|---|
author | Alexander Afanasyev <alexander.afanasyev@ucla.edu> | Thu May 08 18:26:50 2014 -0700 |
committer | Alexander Afanasyev <alexander.afanasyev@ucla.edu> | Thu May 08 20:11:17 2014 -0700 |
tree | af93399de50875dbebf44278f557667d5348e632 | |
parent | 9b0e1142d36f3706ad40cb96c79389640cce9dce [diff] |
build: Changing the way version is managed Now control over the version number is moved to wscript. In addition to that, a new NDN_CXX_VERSION_BUILD_STRING macro is set to include more detailed information, including commit ID (e.g., "0.1.0-rc1-1-g5c86570"). Change-Id: I89ddd4e2f1248bca4f828865ec6d3c3921fa2822
ndn-cxx is a C++ library, implementing Named Data Networking (NDN) primitives that can be used to implement various NDN applications. The library is currently being used as part of the following projects:
See the file docs/INSTALL.rst
for build and install instructions.
Please submit any bugs or issues to the ndn-cxx issue tracker: http://redmine.named-data.net/projects/ndn-cxx/issues
Extensive documentation of the library is available on the library's homepage: http://www.named-data.net/doc/ndn-cxx/
ndn-cxx is an open source project licensed under BSD license. For more information about the license, refer to COPYING
.
While the license does not require it, we really would appreciate it if others would share their contributions to the library if they are willing to do so under the same license.