diff options
Diffstat (limited to 'docs/man/nng_bus.7.adoc')
| -rw-r--r-- | docs/man/nng_bus.7.adoc | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/docs/man/nng_bus.7.adoc b/docs/man/nng_bus.7.adoc new file mode 100644 index 00000000..a05a9d04 --- /dev/null +++ b/docs/man/nng_bus.7.adoc @@ -0,0 +1,74 @@ += 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 + +(((protocol, _bus_))) +The ((_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.3#,`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 _bus_ protocol has no protocol-specific options. + +=== Protocol Headers + +The _bus_ protocol has no protocol-specific headers. + +== SEE ALSO + +<<nng_bus_open.3#,nng_bus_open(3)>>, +<<nng.7#,nng(7)>> |
