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

Does this framework support streaming from client & server? #189

Closed
thedodd opened this issue May 26, 2018 · 2 comments
Closed

Does this framework support streaming from client & server? #189

thedodd opened this issue May 26, 2018 · 2 comments

Comments

@thedodd
Copy link

thedodd commented May 26, 2018

For example, gRPC supports streaming of messages from client to server, as well as streaming from server to client. Anything like that with this framework?

If so, can you point me to an example?

@tikue
Copy link
Collaborator

tikue commented May 26, 2018

I've actually spent a lot of time the last week thinking about streams (no, they're not currently supported).

My initial ideas could largely be described as "HTTP2 but worse." It turns out HTTP2 is really good at streaming RPCs. It makes sense, then, that gRPC is built on HTTP2.

Streaming can't really be tacked on; it would require deep changes. I originally was thinking about having a modal protocol where either you're streaming or in a unary request. But that requires a bifurcated code structure, where all the streaming code is completely separate. Now I understand why gRPC only supports streams.

I could spend a lot of time adding streaming support to tarpc that is identical to what you get with gRPC, but at that point I'd have to recommend just going with gRPC. Maybe tarpc's destiny is to end up as a gRPC code generator. But for now I want to continue to focus on providing a good experience for folks who just need unary request-responses.

I have a rewrite in progress that removes the dependency on tokio-proto and adds a lot of features currently missing. It probably won't be merged until the futures churn (async await, pinning, etc) settles a bit, but that's where my priorities lie right now.

@tikue tikue closed this as completed May 26, 2018
@thedodd
Copy link
Author

thedodd commented May 26, 2018

Thanks for the quick response!

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