libp2p-pubsub consits on the base protocol for libp2p pubsub implementation. This module is responsible for all the logic regarding peer connections.
> npm install libp2p-pubsub
A pubsub implementation MUST override the _processConnection
, publish
, subscribe
and unsubscribe
functions. add_peer
and remove_peer
may be overwritten if the pubsub implementation needs to add custom logic when peers are added and remove. All the remaining functions MUST NOT be overwritten.
The following example aims to show how to create your pubsub implementation extending this base protocol. The pubsub implementation will handle the subscriptions logic.
const Pubsub = require('libp2p-pubsub')
class PubsubImplementation extends Pubsub {
constructor(libp2p) {
super('libp2p:pubsub', '/pubsub-implementation/1.0.0', libp2p)
}
_processConnection(idB58Str, conn, peer) {
// Required to be implemented by the subclass
// Process each message accordingly
}
publish() {
// Required to be implemented by the subclass
}
subscribe() {
// Required to be implemented by the subclass
}
unsubscribe() {
// Required to be implemented by the subclass
}
}
You can use the following implementations as examples for building your own pubsub implementation.
Feel free to join in. All welcome. Open an issue!
This repository falls under the IPFS Code of Conduct.
Copyright (c) Protocol Labs, Inc. under the MIT License. See LICENSE file for details.