8 unstable releases (3 breaking)

0.4.0 Nov 11, 2019
0.3.0 Oct 29, 2019
0.2.2-beta.3 Oct 10, 2019
0.2.2-beta.1 Sep 28, 2019
0.1.0 Mar 11, 2019

#8 in #interledger

Download history 38/week @ 2023-10-29 36/week @ 2023-11-05 29/week @ 2023-11-12 39/week @ 2023-11-19 51/week @ 2023-11-26 27/week @ 2023-12-03 30/week @ 2023-12-10 30/week @ 2023-12-17 46/week @ 2023-12-24 16/week @ 2023-12-31 28/week @ 2024-01-07 27/week @ 2024-01-14 31/week @ 2024-01-21 29/week @ 2024-01-28 42/week @ 2024-02-04 51/week @ 2024-02-11

153 downloads per month
Used in 5 crates

Apache-2.0

115KB
2.5K SLoC

Interledger Router

The router implements an incoming service and includes an outgoing service.

It determines the next account to forward to and passes it on. Both incoming and outgoing services can respond to requests but many just pass the request on. It stores a RouterStore which stores the entire routing table.

Once it receives a Prepare, it checks its destination in its routing table. If the destination exists in the routing table it forwards it there, otherwise it searches for a route where the prefix matches the address and forwards it there.


lib.rs:

interledger-router

A service that routes ILP Prepare packets to the correct next account based on the ILP address in the Prepare packet based on the routing table.

A routing table could be as simple as a single entry for the empty prefix ("") that will route all requests to a specific outgoing account.

Note that the Router is not responsible for building the routing table, only using the information provided by the store. The routing table in the store can either be configured or populated using the CcpRouteManager (see the interledger-ccp crate for more details).

Dependencies

~6.5–9MB
~180K SLoC