1.3.4 Connecting to Other Nodes

A node typically establishes three neighbor connections, if possible. A node that does not discover other nodes initially will at first be alone but will be discovered by other nodes that join the mesh later. Nodes register (and update) their endpoint information in the discovery service for the duration of their participation in the mesh. Nodes also periodically tune neighbor connection sets by dropping the least useful connections and acquiring new connections. Usefulness of a connection is determined by the number of new messages received over that connection.

To establish a connection, the requesting node sends a message requesting a connection from another node. The responding node sends back a message indicating its availability. If the connection is accepted by the responding node, the connection is now ready for sending and receiving application messages.