SYNOPSIS
+#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.
+| + + | ++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.
+| + + | ++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.
+AUTHORS
+SEE ALSO
+COPYRIGHT
+Copyright 2017 Garrett D’Amore
+Copyright 2017 Capitar IT Group BV
This document is supplied under the terms of the +MIT License.
+