PSync version 0.1.0¶
Release date: January 25, 2019
Version 0.1.0 is the initial release of PSync. The PSync library implements the PSync protocol. It uses Invertible Bloom Lookup Table (IBLT), also known as Invertible Bloom Filter (IBF), to represent the state of a producer in partial sync mode and the state of a node in full sync mode. An IBF is a compact data structure where difference of two IBFs can be computed efficiently. In partial sync, PSync uses a Bloom Filter to represent the subscription of list of the consumer. PSync uses the ndn-cxx library as NDN development library.
PSync is an open source project licensed under LGPL 3.0. We highly welcome all contributions to the PSync code base, provided that they can be licensed under LGPL 3.0+ or other compatible license.
PSync supports the following features:
Partial Synchronization
Allows consumers to subscribe to a subset of a producer’s offered prefixes.
Consumer can sync with any replicated producer in the same sync group.
A PartialProducer class to publish prefixes and updates.
A Consumer class to subscribe to the producer (hello) and listen for updates (sync).
Full Synchronization
Similar to ChronoSync, allows full synchronization of names amongst all the nodes in the sync group.
FullProducer class can be used start syncing with a sync group.
Miscellaneous
Uses ndn-cxx
SegmentFetcher
to segment hello and sync data.Provide a SegmentPublisher that can be used by other NDN applications.
Examples are provided in
examples
folder to show how to use the library.