Skip to content

Latest commit

 

History

History
89 lines (68 loc) · 2.66 KB

nng_bus.adoc

File metadata and controls

89 lines (68 loc) · 2.66 KB

nng_bus(7) Manual Page

NAME

nng_bus - bus protocol

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.

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_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.

SEE ALSO

Copyright 2017 Garrett D’Amore
Copyright 2017 Capitar IT Group BV

This document is supplied under the terms of the MIT License.