Fix bug: segmented packets, once aggregated, had the interest name and not the returned data name without the segment component.
3 files changed
tree: 7bdd979b5d4a2dd7995a70eee4af10481ccab020
  1. src/
  2. .gitignore
  3. LICENSE
  4. nb-configuration.xml
  5. pom.xml
  6. README.md
README.md

jndn-utils

This project is a collection of tools to simplify synchronous and asynchronous data transfer over the NDN network. It relies on the NDN Protocol and its associated client library.

Install

With Maven, add the following to your POM:

<dependency>
  <groupId>com.intel.jndn.utils</groupId>
  <artifactId>jndn-utils</artifactId>
  <version>RELEASE</version> <!-- or a specific version -->
</dependency>

Use

Use SimpleClient or SegmentedClient to retrieve data from the network. For example:

// retrieve a single Data packet synchronously, will block until complete
Data singleData = Client.getDefault().getSync(face, name);

// retrieve a segmented Data packet (i.e. with a last Component containing a segment number and a valid FinalBlockId) by name
Data segmentedData = SegmentedClient.getDefault().getSync(face, name);

Use SimpleServer or SegmentedServer to serve data on the network. For example:

// segment and serve Data packet under a specific prefix
RepositoryServer server = new SegmentedServer(face, prefix);
server.serve(largeDataPacket); // call face.processEvents() in an event loop

// add signatures; this pipeline stage will sign each Data packet prior to being encoded for transport
server.addPipelineStage(new SigningStage(keyChain, signingCertificateName));

For full API, see the Javadoc.

License

Copyright © 2015, Intel Corporation.

This program is free software; you can redistribute it and/or modify it under the terms and conditions of the GNU Lesser General Public License, version 3, as published by the Free Software Foundation.

This program is distributed in the hope 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.