floodsub-stream
v0.15.6
Published
libp2p-floodsub variant that delivers unique messages - the same message content will not be delivered twice
Downloads
12
Maintainers
Readme
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