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

Provide opinionated cruft around client side connection and stream management #3

Open
wokalski opened this issue Mar 27, 2022 · 1 comment

Comments

@wokalski
Copy link
Contributor

Currently we have this fluff all around the example.

There are two possible solutions:

  1. Simply put that logic in the Connection module in grpc-lwt (and in grpc-async respectively)

  2. Develop a more robust solution implementing grpc channels, excerpt from the docs:

    Channels are a key concept in gRPC. Streams in HTTP/2 enable multiple concurrent conversations on a single connection; channels extend this concept by enabling multiple streams over multiple concurrent connections. On the surface, channels provide an easy interface for users to send messages into; underneath the hood, though, an incredible amount of engineering goes into keeping these connections alive, healthy, and utilized.

    More about channels:

@quernd
Copy link
Collaborator

quernd commented Apr 10, 2022

I think we should aim to provide more robust support for channels (option 2). This includes implementing the state machine as well as retries with exponential backoff. We can also handle lifecycle management of the connection here as per our recent discussion.

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

No branches or pull requests

2 participants