Module @ndn/segmented-object

@ndn/segmented-object

This package is part of NDNts, Named Data Networking libraries for the modern web.

This package implements functions to publish and retrieve segmented objects. @ndn/cat package is a command line program that uses this package, and serves as an example.

The consumer functionality:

  • supports version discovery via CanBePrefix.
  • supports version discovery by requesting metadata (in @ndn/rdr package).
  • supports manifest.
  • allows specifying segment range.
  • supports segment numbers.
  • supports byte offsets.
  • supports multiple naming conventions.
  • has Interest pipelining, congestion control, and loss recovery.
  • verifies packets with a Verifier (fixed key or trust schema).
  • emits events as segments arrive.
  • outputs in-order data chunks as a readable stream.
  • outputs completely reassembled object via Promise.

The producer functionality:

  • takes input from Uint8Array.
  • takes input from readable streams.
  • takes input from files (Blob in browser and Node.js, filename in Node.js).
  • generates segments of fixed size.
  • generates segments of available data as Interest arrives, to minimize delivery latency.
  • responds to version discovery Interests with CanBePrefix.
  • responds to metadata requests (in @ndn/rdr package).
  • generates manifest.
  • supports segment numbers.
  • supports byte offsets.
  • supports multiple naming conventions.
  • signs packets with a Signer (fixed key or trust schema).
  • reports when all segments have been retrieved at least once.

Index

Namespaces

Classes

Interfaces

Type Aliases

Variables

Functions