NNG_SUB(7) | NNG Reference Manual | NNG_SUB(7) |
nng_sub - subscriber protocol
#include <nng/nng.h> #include <nng/protocol/pubsub0/sub.h>
The 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 sub protocol is the subscriber side, and the pub 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.
The nng_sub0_open() functions create 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.
Only version 0 of this protocol is supported. (At the time of writing, no other versions of this protocol have been defined.)
The following protocol-specific options are available.
NNG_OPT_SUB_SUBSCRIBE
This option is deprecated. New applications should use
nng_sub0_socket_subscribe or
nng_sub0_ctx_subscribe functions.
This option is a byte array. Thus if you use
nng_setopt_string() the NUL
terminator byte will be included in the topic. If that isn’t desired,
consider using nng_setopt() and using
strlen() of the topic as the topic size.
To receive all messages, an empty topic (zero length) can be used.
NNG_OPT_SUB_UNSUBSCRIBE
NNG_OPT_SUB_PREFNEW
The sub protocol has no protocol-specific headers.
nng_sub_open(3), nng_sub_subscribe(3), nng_pub(7), nng(7)
2025-01-05 |