Skip to content
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: Add experimental feature for synchronous update calls #572

Merged
merged 11 commits into from
Jul 23, 2024

Conversation

DSharifi
Copy link
Member

@DSharifi DSharifi commented Jul 17, 2024

Description

This PR adds an experimental feature flag to support synchronous update calls, which are routed to /api/v3/.../call. The feature is opt in, and requires the user to also enable a flag in the builder of ReqwestTransport or HyperTransport.

Changes:

  • Route provider no longer provides the /api/v2 prefix for routes.
  • Added the feature flag experimental_sync_call, which enables a toggle to ReqwestTransport and HyperTransport to route ingress messages to the new v3 call endpoint.
  • Agent no longer returns a RequestId for update calls, but an enum which either contains the response of the call or the underlying RequestId which can be used to poll the request status.

How Has This Been Tested?

Integration tests have been updated to expect requests are sent to v3/.../call.

Checklist:

  • The title of this PR complies with Conventional Commits.
  • I have edited the CHANGELOG accordingly.
  • I have made corresponding changes to the documentation.

@DSharifi DSharifi changed the title Dsharifi/call v3 support feat: call v3 support Jul 17, 2024
@DSharifi DSharifi marked this pull request as ready for review July 22, 2024 15:12
@DSharifi DSharifi requested a review from a team as a code owner July 22, 2024 15:12
@DSharifi DSharifi changed the title feat: call v3 support feat: Add experimental feature for synchronous update calls Jul 22, 2024
Copy link
Member Author

@DSharifi DSharifi Jul 22, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I changed the DFX version since CI would fail when it pulls the current latest stable,0.21, which uses a replica version that hasn't enabled the new endpoint for synchronous ingress messages.

ic-transport-types/src/lib.rs Outdated Show resolved Hide resolved
ic-transport-types/src/lib.rs Outdated Show resolved Hide resolved
ic-transport-types/src/lib.rs Outdated Show resolved Hide resolved
ic-agent/src/agent/mod.rs Outdated Show resolved Hide resolved
ic-transport-types/src/lib.rs Outdated Show resolved Hide resolved
ic-agent/src/agent/http_transport/reqwest_transport.rs Outdated Show resolved Hide resolved
@DSharifi DSharifi self-assigned this Jul 23, 2024
@adamspofford-dfinity adamspofford-dfinity merged commit 203467c into main Jul 23, 2024
25 checks passed
@adamspofford-dfinity adamspofford-dfinity deleted the dsharifi/call-v3-support branch July 23, 2024 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants