SYNOPSIS
+#include <nng/protocol/pubsub/pubsub.h>
+
+#define NNG_PROTO_SUB_V0 33
+#define NNG_PROTO_SUB NNG_PROTO_SUB_V0
+
+int nng_sub_open(nng_socket *s);
+int nng_sub0_open (nng_socket *s);
+DESCRIPTION
+The nng_sub protocol is one half of a publisher/subscriber pattern. +In this pattern, a publisher sends data, which is broadcast to all +subscribers. The subscribing applications only see the data to which +they have subscribed.
+The nng_sub protocol is the subscriber side, and the +nng_pub(7) protocol is the publisher side.
+| + + | ++In this implementation, the publisher delivers all messages to all +subscribers. The subscribers maintain their own subscriptions, and filter +them locally. Thus, this pattern should not be used in an attempt to +reduce bandwidth consumption. + | +
The topics that subscribers subscribe to is just the first part of +the message body. Applications should construct their messages +accordingly.
+Socket Operations
+The nng_sub_open() call creates a subscriber socket. This socket
+may be used to receive messages, but is unable to send them. Attempts
+to send messages will result in NNG_ENOTSUP.
Protocol Versions
+Only version 0 of this protocol is supported. (At the time of writing, +no other versions of this protocol have been defined.)
+Protocol Options
+The following protocol-specific options are available.
+-
+
NNG_OPT_SUB_SUBSCRIBE
+-
+
This option registers a topic that the subscriber is interested in. +The option is write-only, and takes an array of bytes, of arbitrary size. +Each incoming message is checked against the list of subscribed topics. +If the body begins with the entire set of bytes in the topic, then the +message is accepted. If no topic matches, then the message is +discarded.
++++
++ ++ + ++To receive all messages, an empty topic (zero length) can be used. + +
+ NNG_OPT_SUB_UNSUBSCRIBE
+-
+
This option, also read-only, removes a topic from the subscription list. +Note that if the topic was not previously subscribed to with +
+NNG_OPT_SUB_SUBSCRIBEthen anNNG_ENOENTerror will result.
+
Protocol Headers
+The nng_sub protocol has no protocol-specific headers.
+AUTHORS
+SEE ALSO
+COPYRIGHT
+Copyright 2017 Garrett D’Amore
+Copyright 2017 Capitar IT Group BV
This document is supplied under the terms of the +MIT License.
+