diff options
Diffstat (limited to 'docs/man/nng_bus.adoc')
| -rw-r--r-- | docs/man/nng_bus.adoc | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/docs/man/nng_bus.adoc b/docs/man/nng_bus.adoc new file mode 100644 index 00000000..18ba4664 --- /dev/null +++ b/docs/man/nng_bus.adoc @@ -0,0 +1,71 @@ += nng_bus(7) +// +// Copyright 2018 Staysail Systems, Inc. <info@staysail.tech> +// Copyright 2018 Capitar IT Group BV <info@capitar.com> +// +// This document 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/bus0/bus.h> + +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_bus0_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. + +== SEE ALSO + +<<nng#,nng(7)>> |
