summaryrefslogtreecommitdiff
path: root/docs/reference/src/protocols/bus.md
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2024-03-30 14:36:35 -0700
committerGarrett D'Amore <garrett@damore.org>2024-03-30 14:36:35 -0700
commitd38c90f0b429df3c13fb13f87481b73465d2eae5 (patch)
tree29b19caf79f82f9de3268333ceb8ffb3a45e973a /docs/reference/src/protocols/bus.md
parentf1a8d00adad337d7e7ef24b936a3f046f80370dd (diff)
downloadnng-d38c90f0b429df3c13fb13f87481b73465d2eae5.tar.gz
nng-d38c90f0b429df3c13fb13f87481b73465d2eae5.tar.bz2
nng-d38c90f0b429df3c13fb13f87481b73465d2eae5.zip
Reorganization in progress.
Diffstat (limited to 'docs/reference/src/protocols/bus.md')
-rw-r--r--docs/reference/src/protocols/bus.md58
1 files changed, 0 insertions, 58 deletions
diff --git a/docs/reference/src/protocols/bus.md b/docs/reference/src/protocols/bus.md
deleted file mode 100644
index 8583ed65..00000000
--- a/docs/reference/src/protocols/bus.md
+++ /dev/null
@@ -1,58 +0,0 @@
-# BUS Protocol
-
-{{hi:protocol, _BUS_}}
-The {{i:_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 {{i: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()`](../api/nng_bus_open.md) 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.
-
-## 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
-
-When using a _BUS_ socket in [raw mode](../overview/raw.md), received messages will
-contain the incoming [pipe](../api/nng_pipe.md) ID as the sole element in the header.
-If a message containing such a header is sent using a raw _BUS_ socket, then,
-the message will be delivered to all connected pipes _except_ the one
-identified in the header.
-This behavior is intended for use with [device](../api/nng_device.md)
-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.
-
-When using normal (cooked mode) _BUS_ sockets, no message headers are present.