diff options
| author | Garrett D'Amore <garrett@damore.org> | 2024-03-30 14:36:35 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2024-03-30 14:36:35 -0700 |
| commit | d38c90f0b429df3c13fb13f87481b73465d2eae5 (patch) | |
| tree | 29b19caf79f82f9de3268333ceb8ffb3a45e973a /docs/reference/src/proto/pub.md | |
| parent | f1a8d00adad337d7e7ef24b936a3f046f80370dd (diff) | |
| download | nng-d38c90f0b429df3c13fb13f87481b73465d2eae5.tar.gz nng-d38c90f0b429df3c13fb13f87481b73465d2eae5.tar.bz2 nng-d38c90f0b429df3c13fb13f87481b73465d2eae5.zip | |
Reorganization in progress.
Diffstat (limited to 'docs/reference/src/proto/pub.md')
| -rw-r--r-- | docs/reference/src/proto/pub.md | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/docs/reference/src/proto/pub.md b/docs/reference/src/proto/pub.md new file mode 100644 index 00000000..faa42e57 --- /dev/null +++ b/docs/reference/src/proto/pub.md @@ -0,0 +1,40 @@ +# PUB Protocol + +The {{i:*PUB* protocol}}{{hi:*PUB*}} is one half of a {{i: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 _PUB_ protocol is the publisher side, and the +[_SUB_](sub.md) protocol is the subscriber side. + +> [!NOTE] +> 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_pub0_open()`][nng_pub_open] functions create a publisher socket. +This socket may be used to send messages, but is unable to receive them. +Attempts to receive 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 _PUB_ protocol has no protocol-specific options. + +## Protocol Headers + +The _PUB_ protocol has no protocol-specific headers. |
