diff options
| author | Garrett D'Amore <garrett@damore.org> | 2017-10-31 10:25:23 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2017-10-31 10:25:23 -0700 |
| commit | d340af7dc250388f48d36c5078c4857c51bb6121 (patch) | |
| tree | 36566476fc70335334c5d5c344cd7c668003af2f | |
| parent | 475f4c8abfdd9c88b585105c48839f51d7523d57 (diff) | |
| download | nng-d340af7dc250388f48d36c5078c4857c51bb6121.tar.gz nng-d340af7dc250388f48d36c5078c4857c51bb6121.tar.bz2 nng-d340af7dc250388f48d36c5078c4857c51bb6121.zip | |
Add nng_bus man page.
| -rw-r--r-- | docs/nng_bus.adoc | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/docs/nng_bus.adoc b/docs/nng_bus.adoc new file mode 100644 index 00000000..03c43381 --- /dev/null +++ b/docs/nng_bus.adoc @@ -0,0 +1,95 @@ +nng_bus(7) +========== +:doctype: manpage +:manmanual: nng +:mansource: nng +:icons: font +:source-highlighter: pygments +:copyright: Copyright 2017 Garrett D'Amore <garrett@damore.org> \ + Copyright 2017 Capitar IT Group BV <info@capitar.com> \ + This software is supplied under the terms of the MIT License, a \ + copy of which should be located in the distribution where this \ + file was obtained (LICENSE.txt). A copy of the license may also \ + be found online at https://opensource.org/licenses/MIT. + +NAME +---- +nng_bus - bus protocol + +SYNOPSIS +-------- + +[source,c] +---------- +#include <nng/protocol/bus/bus.h> + +int nng_bus_open(nng_socket *s); +int nng_bus0_open(nng_socket *s); + +---------- + +DESCRIPTION +----------- + +The _nng_bus_ protocol provides for building mesh networks where +every peer is connected to every other peer. In this protocol, +each message sent by a node is sent to every one of its directly +connected peers. + +TIP: Messages are only sent to directly connected peers. This means +that in the event that a peer is connected indirectly, it will not +receive messages. When using this protocol to build mesh networks, it +is therefore important that a _fully-connected_ mesh network be +constructed. + +All message delivery in this pattern is best-effort, which means that +peers may not receive messages. Furthermore, delivery may occur to some, +all, or none of the directly connected peers. (Messages are not delivered +when peer nodes are unable to receive.) Hence, send operations will never +block; instead if the message cannot be delivered for any reason it is +discarded. + +TIP: In order to minimize the likelihood of message loss, this protocol +should not be used for high throughput communications. Furthermore, the +more traffic _in aggregate_ that occurs across the topology, the more +likely that message loss is to occur. + +Socket Operations +~~~~~~~~~~~~~~~~~ + +The `nng_bus_open()` call creates a bus socket. This socket +may be used to send and receive messages. Sending messages will +attempt to deliver to each directly connected peer. + +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 _nng_bus_ protocol has no protocol-specific options. + +Protocol Headers +~~~~~~~~~~~~~~~~ + +The _nng_bus_ protocol has no protocol-specific headers. + +AUTHORS +------- +link:mailto:garrett@damore.org[Garrett D'Amore] + +SEE ALSO +-------- +<<nng.adoc#,nng(7)>> + +COPYRIGHT +--------- + +Copyright 2017 mailto:garrett@damore.org[Garrett D'Amore] + +Copyright 2017 mailto:info@capitar.com[Capitar IT Group BV] + +This document is supplied under the terms of the +https://opensource.org/licenses/LICENSE.txt[MIT License]. |
