kubo/core/node/libp2p
Antonio Navarro Perez 92c4dc61a8
feat(routing): Delegated Routing (#8997)
* Delegated Routing.

Implementation of Reframe specs (https://github.com/ipfs/specs/blob/master/REFRAME.md) using go-delegated-routing library.

* Requested changes.

* Init using op string

* Separate possible ContentRouters for TopicDiscovery.

If we don't do this, we have a ciclic dependency creating TieredRouter.
Now we can create first all possible content routers, and after that,
create Routers.

* Set dht default routing type

* Add tests and remove uneeded code

* Add documentation.

* docs: Routing.Routers

* Requested changes.

Signed-off-by: Antonio Navarro Perez <antnavper@gmail.com>

* Add some documentation on new fx functions.

* Add changelog entry and integration tests

* test: sharness for 'dht' in 'routing' commands

Since 'routing' is currently the same as 'dht' (minus query command)
we need to test both, that way we won't have unnoticed divergence
in the default behavior.

* test(sharness): delegated routing via reframe URL

* Add more tests for delegated routing.

* If any put operation fails, the tiered router will fail.

* refactor: Routing.Routers: Parameters.Endpoint

As agreed  in https://github.com/ipfs/kubo/pull/8997#issuecomment-1175684716

* Try to improve CHANGELOG entry.

* chore: update reframe spec link

* Update go-delegated-routing dependency

* Fix config error test

* use new changelog format

* Remove port conflict

* go mod tidy

* ProviderManyWrapper to ProviderMany

* Update docs/changelogs/v0.14.md

Co-authored-by: Adin Schmahmann <adin.schmahmann@gmail.com>

Co-authored-by: Marcin Rataj <lidel@lidel.org>
Co-authored-by: Adin Schmahmann <adin.schmahmann@gmail.com>
2022-07-07 17:10:25 -04:00
..
addrs.go refactor: prealloc slices with known sizes (#8892) 2022-06-24 21:19:19 +01:00
discovery.go refactor: rename to kubo 2022-07-06 18:40:37 +02:00
dns.go explicit construction of DNS resolver 2021-05-10 21:03:27 -07:00
filters.go use a ConnectionManager for filtering addresses 2021-08-19 18:04:48 +02:00
host.go refactor: rename to kubo 2022-07-06 18:40:37 +02:00
hostopt.go feat: go-libp2p 0.16, UnixFS autosharding and go-datastore with contexts (#8563) 2021-11-29 19:58:05 +01:00
libp2p_test.go add a test case for libp2p option prioritization 2022-02-28 15:26:06 +04:00
libp2p.go refactor: rename to kubo 2022-07-06 18:40:37 +02:00
nat.go refactor: rename to kubo 2022-07-06 18:40:37 +02:00
peerstore.go feat: go-libp2p 0.16, UnixFS autosharding and go-datastore with contexts (#8563) 2021-11-29 19:58:05 +01:00
pnet.go refactor: rename to kubo 2022-07-06 18:40:37 +02:00
pubsub.go refactor: rename to kubo 2022-07-06 18:40:37 +02:00
rcmgr_defaults.go refactor: rename to kubo 2022-07-06 18:40:37 +02:00
rcmgr_logging_test.go feat: log when resource manager limits are exceeded (#8980) 2022-05-19 15:27:44 -04:00
rcmgr_logging.go feat: log when resource manager limits are exceeded (#8980) 2022-05-19 15:27:44 -04:00
rcmgr_metrics.go feat: enable Resource Manager by default 2022-05-04 14:08:37 -04:00
rcmgr.go refactor: rename to kubo 2022-07-06 18:40:37 +02:00
relay.go refactor: rename to kubo 2022-07-06 18:40:37 +02:00
routing.go feat(routing): Delegated Routing (#8997) 2022-07-07 17:10:25 -04:00
routingopt.go integrate experimental AcceleratedDHTClient 2021-05-14 04:31:06 -04:00
sec.go refactor: rename to kubo 2022-07-06 18:40:37 +02:00
smux.go refactor: rename to kubo 2022-07-06 18:40:37 +02:00
topicdiscovery.go feat(routing): Delegated Routing (#8997) 2022-07-07 17:10:25 -04:00
transport.go refactor: rename to kubo 2022-07-06 18:40:37 +02:00