js-libp2p-floodsub
libp2p-floodsub, also known as pubsub-flood or just dumbsub, this implementation of pubsub focused on delivering an API for Publish/Subscribe, but with no CastTree Forming (it just floods the network).
Lead Maintainer
Table of Contents
Install
> npm install libp2p-floodsub
Examples
const FloodSub = require('libp2p-floodsub') const fsub = new FloodSub(node) fsub.start((err) => { if (err) { console.log('Upsy', err) } fsub.on('fruit', (data) => { console.log(data) }) fsub.subscribe('fruit') fsub.publish('fruit', new Buffer('banana'))})
Events
Floodsub emits two kinds of events:
<topic>
when a message is received for a particular topic
fsub.on('fruit', (data) => { ... })
data
: a Buffer containing the data that was published to the topic
floodsub:subscription-change
when the local peer receives an update to the subscriptions of a remote peer.
fsub.on('floodsub:subscription-change', (peerInfo, topics, changes) => { ... })
peerInfo
: a PeerInfo objecttopics
: the topics that the peer is now subscribed tochanges
: an array of{ topicCID: <topic>, subscribe: <boolean> }
eg[ { topicCID: 'fruit', subscribe: true }, { topicCID: 'vegetables': false } ]
API
See https://libp2p.github.io/js-libp2p-floodsub
Contribute
PRs are welcome!
Small note: If editing the Readme, please conform to the standard-readme specification.
License
MIT © David Dias