diff options
| author | Garrett D'Amore <garrett@damore.org> | 2024-03-30 14:36:35 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2024-03-30 14:36:35 -0700 |
| commit | d38c90f0b429df3c13fb13f87481b73465d2eae5 (patch) | |
| tree | 29b19caf79f82f9de3268333ceb8ffb3a45e973a /docs/reference/src/protocols/bus.md | |
| parent | f1a8d00adad337d7e7ef24b936a3f046f80370dd (diff) | |
| download | nng-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.md | 58 |
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. |
