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

Make Proxy.PassThrough async #33

Closed
mostafa opened this issue Nov 20, 2022 · 1 comment
Closed

Make Proxy.PassThrough async #33

mostafa opened this issue Nov 20, 2022 · 1 comment
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@mostafa
Copy link
Member

mostafa commented Nov 20, 2022

Currently the implementation of the gateway is synchronous and requires these steps:

  1. Receive data (query) from the client.
  2. Run onTrafficFromClient hook.
  3. Send data (possibly modified query) to the server (PostgreSQL).
  4. Run onTrafficToServer hook.
  5. Receive data (PostgreSQL response) from the server.
  6. Run onTrafficFromServer hook.
  7. Send data (modified PostgreSQL response) to the client. This is done using async write.
  8. Run onTrafficToClient hook.

This is serial, and should be fixed by using some sort of concurrent mechanism to wait for either server/client independently.

@mostafa mostafa added the enhancement New feature or request label Nov 20, 2022
@mostafa mostafa added this to the v0.0.x milestone Nov 20, 2022
@mostafa mostafa self-assigned this Nov 20, 2022
@mostafa mostafa modified the milestones: v0.0.x, v0.1.x Dec 13, 2022
@mostafa mostafa removed this from the v0.1.x milestone Jan 2, 2023
@mostafa
Copy link
Member Author

mostafa commented Oct 31, 2023

Fixed in #343.

@mostafa mostafa closed this as completed Oct 31, 2023
@mostafa mostafa added this to the v0.8.x milestone Oct 31, 2023
@mostafa mostafa moved this from ✨ New to 🎉 Done in GatewayD Core Public Roadmap Oct 31, 2023
@mostafa mostafa mentioned this issue Nov 1, 2023
9 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Development

No branches or pull requests

1 participant