-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: extend agent with a route provider feature #484
feat: extend agent with a route provider feature #484
Conversation
baa28ca
to
eeccd23
Compare
eeccd23
to
ae293c5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am hesitant to introduce yet another context-free trait object into the agent. Is there any reason a user would configure anything other than a round-robin strategy for a particular list of URLs? If not, this produces much less complexity with the user just providing a list of URLs, and eliminating the trait.
@adamspofford-dfinity I understand the concern. Imho, |
Co-authored-by: Adam Spofford <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you also add an entry to the changelog? Also I mistyped the localhost one, it should be http not https.
Description
API Boundary Node (BN) Discovery Library (which is in a very recent development) is the prerequisite for the IC-720: BN Decentralization Feature. This library will have two main responsibilities:
ic0.app
owned by Dfinity. However, once BNs are decentralized, each BN will have it's own/unique domain. Moreover, BNs and their domain records could be added (or removed) from the IC registry via nns proposals. Thus, clients would need an api to discover, which domains currently belong to the IC ecosystem. Note: the exact BN domain discovery mechanism is still being discussed. This could either be accomplished via read_state calls or by fetching records from the registry canister.Future usages of the library:
The library is being developed within the ic repo and it uses
ic-agent
as a dependency. However, in the near future,ic-agent
could/should include some functionalities of the library or even library as a whole.This pull request kicks-off the first migration/integration step of the library with the
ic-agent
.Namely,
ic-agent
is extended with a customRouteProvider
feature.How Has This Been Tested?
RoundRobinRouteProvider
which is now used as default route provider for theagent
.RoundRobinRouteProvider
.Checklist: