JSPM

  • Created
  • Published
  • Downloads 11606
  • Score
    100M100P100Q147590F
  • License MIT

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).

Package Exports

  • libp2p-floodsub

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (libp2p-floodsub) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

js-libp2p-floodsub

Coverage Status Travis CI Circle CI Dependency Status js-standard-style standard-readme compliant

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

Vasco Santos.

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:

  1. <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
  1. 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 object
  • topics: the topics that the peer is now subscribed to
  • changes: 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