diff options
Diffstat (limited to 'man/v1.2.4/nng_bus.7.html')
| -rw-r--r-- | man/v1.2.4/nng_bus.7.html | 154 |
1 files changed, 154 insertions, 0 deletions
diff --git a/man/v1.2.4/nng_bus.7.html b/man/v1.2.4/nng_bus.7.html new file mode 100644 index 00000000..cb309954 --- /dev/null +++ b/man/v1.2.4/nng_bus.7.html @@ -0,0 +1,154 @@ +--- +version: v1.2.4 +layout: refman +--- +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.10"> +<title>nng_bus(7)</title> +<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"> +<link rel="stylesheet" href="./asciidoctor.css"> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +</head> +<body class="manpage toc2 toc-left"> +<div id="header"> +<h1>nng_bus(7) Manual Page</h1> +<div id="toc" class="toc2"> +<div id="toctitle">Table of Contents</div> +<ul class="sectlevel1"> +<li><a href="#_synopsis">SYNOPSIS</a></li> +<li><a href="#_description">DESCRIPTION</a> +<ul class="sectlevel2"> +<li><a href="#_socket_operations">Socket Operations</a></li> +<li><a href="#_protocol_versions">Protocol Versions</a></li> +<li><a href="#_protocol_options">Protocol Options</a></li> +<li><a href="#_protocol_headers">Protocol Headers</a></li> +</ul> +</li> +<li><a href="#_see_also">SEE ALSO</a></li> +</ul> +</div> +<h2 id="_name">NAME</h2> +<div class="sectionbody"> +<p>nng_bus - bus protocol</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_synopsis">SYNOPSIS</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="pygments highlight"><code data-lang="c"><span></span><span class="tok-cp">#include</span> <span class="tok-cpf"><nng/protocol/bus0/bus.h></span><span class="tok-cp"></span></code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">DESCRIPTION</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p> +The <em>bus</em> 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.</p> +</div> +<div class="admonitionblock tip"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-tip" title="Tip"></i> +</td> +<td class="content"> +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 <em>fully-connected</em> mesh network be constructed. +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p>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.</p> +</div> +<div class="admonitionblock tip"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-tip" title="Tip"></i> +</td> +<td class="content"> +In order to minimize the likelihood of message loss, this protocol +should not be used for high throughput communications. +Furthermore, the more traffic <em>in aggregate</em> that occurs across the topology, +the more likely that message loss is to occur. +</td> +</tr> +</table> +</div> +<div class="sect2"> +<h3 id="_socket_operations">Socket Operations</h3> +<div class="paragraph"> +<p>The <a href="nng_bus_open.3.html"><code>nng_bus0_open()</code></a> functions create a bus socket. +This socket may be used to send and receive messages. +Sending messages will attempt to deliver to each directly connected peer.</p> +</div> +</div> +<div class="sect2"> +<h3 id="_protocol_versions">Protocol Versions</h3> +<div class="paragraph"> +<p>Only version 0 of this protocol is supported. +(At the time of writing, no other versions of this protocol have been defined.)</p> +</div> +</div> +<div class="sect2"> +<h3 id="_protocol_options">Protocol Options</h3> +<div class="paragraph"> +<p>The <em>bus</em> protocol has no protocol-specific options.</p> +</div> +</div> +<div class="sect2"> +<h3 id="_protocol_headers">Protocol Headers</h3> +<div class="paragraph"> +<p>When using a <a href="nng.7.html#raw_mode">“raw”</a> <em>bus</em> socket, received messages will +contain the incoming <a href="nng_pipe.5.html">pipe</a> ID as the sole element in the header. +If a message containing such a header is sent using a raw <em>bus</em> socket, then, +the message will be delivered to all connected pipes <em>except</em> the one +identified in the header. +This behavior is intended for use with <a href="nng_device.3.html">device</a> +configurations consisting of just a single socket. +Such configurations are useful in the creation of rebroadcasters, and this +capability prevents a message from being routed back to its source. +If no header is present, then a message is sent to all connected pipes.</p> +</div> +<div class="paragraph"> +<p>When using “cooked” <em>bus</em> sockets, no message headers are present.</p> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">SEE ALSO</h2> +<div class="sectionbody"> +<div class="paragraph text-left"> +<p><a href="nng_bus_open.3.html">nng_bus_open(3)</a>, +<a href="nng.7.html">nng(7)</a></p> +</div> +</div> +</div> +</div> +<link rel="stylesheet" href="./pygments-default.css"> +</body> +</html>
\ No newline at end of file |
