Skip to content
Snippets Groups Projects
Commit f2288e0c authored by Fadi Shehadeh's avatar Fadi Shehadeh Committed by Sébastien Blin
Browse files

DRT: implement Distributed Routing Table

This patch adds the minimal code for the DRT. This component
should avoid the fact that every peer in a swarm must connects
to every other peer.

The idea is to get a similar algorithm we use in OpenDHT, meaning
to store known devices in buckets and try to dynamically connect
to some of the peers, creating a routing table, so every peer
in a conversation should connect to a subset of peers.

The big difference is that we must includes mobile devices (for
OpenDHT push/baterry optimizations can be taken into accounts).
For this, we consider a special type of node in the DRT that is
considered as reachable but not connected and stored in the mobile
nodes. A mobile announces itself as a mobile after bootstraping
via a message in the swarm channel. In this case, if they disconnect
the node is moved to a special state (mobile node) instead (known nodes).

A user can know to which devices they can send messages via Routing
Table's mobile nodes and connected nodes.

Docs: TODO add link
GitLab: #297
Change-Id: Ic061c58ca487698afee712cb2eef5e57f9c208fb
parent 3b0def09
Branches
No related tags found
Loading
Showing
with 2650 additions and 239 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment