From d340af7dc250388f48d36c5078c4857c51bb6121 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Tue, 31 Oct 2017 10:25:23 -0700 Subject: Add nng_bus man page. --- docs/nng_bus.adoc | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 docs/nng_bus.adoc (limited to 'docs') 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 \ + Copyright 2017 Capitar IT Group BV \ + 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 + +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 +-------- +<> + +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]. -- cgit v1.2.3-70-g09d2