From b03f619cf0614e177f9c1a6b31868e2d085f608d Mon Sep 17 00:00:00 2001 From: vyzo Date: Fri, 4 Jan 2019 13:02:08 +0200 Subject: [PATCH] add doc.go for package documentation --- doc.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 doc.go diff --git a/doc.go b/doc.go new file mode 100644 index 0000000..fa0d7e1 --- /dev/null +++ b/doc.go @@ -0,0 +1,25 @@ +package pubsub + +// The pubsub package provides facilities for the Publish/Subscribe pattern of message +// propagation, also known as overlay multicast. +// The implementation provides topic-based pubsub, with pluggable routing algorithms. +// +// The main interface to the library is the `PubSub` object. +// You can construct this object with the following constructors +// - `NewFloodSub` creates an instance that uses the floodsub routing algorithm. +// - `NewGossipSub` creates an instance that uses the gossipsub routing algorithm. +// - `NewRandomSub` creates an instance that uses the randomsub routing algorithm. +// +// In addition, there is a generic constructor that creates a pubsub instance with +// a custom PubSubRouter interface. This procedure is currently reserved for internal +// use within the package. +// +// Once you have constructed a `PubSub` instance, you need to establish some connections +// to your peers; the implementation relies on ambient peer discovery, leaving bootstrap +// and active peer discovery up to the client. +// +// To publish a message to some topic, use `Publish`; you don't need to be subscribed +// to the topic in order to publish. +// +// To subscribe to a topic, use `Subscribe`; this will give you a subscription interface +// from which new messages can be pumped.