Bluehouse-Technology / grpc

Erlang library for GRPC
Apache License 2.0
100 stars 38 forks source link

status of the lib #7

Open benoitc opened 7 years ago

benoitc commented 7 years ago

what is the current status of the lib? how far it is from prod?

willemdj commented 7 years ago

Getting close, I think.

The new cowboy version is an improvement, we now have some sort of support for flow control (not really flow control, actually, but at least the windows get updated and the traffic will not be stalled once the initial window is exhausted).

If you can have a look to see if it would suit your goals that would be very much appreciated.

benoitc commented 6 years ago

I will this week. One question still, how much differs your fork of cowboy from the official? Can't patches be done upstream?

willemdj commented 6 years ago

Great if you can have a look.

Regarding the fork: there is some discussion about that in this cowboy issue: https://github.com/ninenines/cowboy/issues/1191

The main thing is the missing support for trailers. If that is there, the other things can probably be solved on the gRPC side. Loic indicated that he will offer support for trailers some time in the future, so then we can get rid of the fork.

willemdj commented 6 years ago

Hi Benoit,

I am curious, did you make any progress on this? Let me know if you have any comments, questions or issues!

Regards, Willem

benoitc commented 6 years ago

@willemdj sorry, have been busy these days. I still have to put the code under test.

What I did for now is to makes the code of the client more "standalone" by including directly in it the hpack module from cowboy, this allowed me to have the client running even in micro-services that are still using cowboy 1 or old versions of cowlib. Maybe this is something you would be interested in ?

A thing on my todo list is to add a way to monitor the client connection and put it in a connection pull. For now what you return is a map. So somply adding it to a supervisor spec isn't enough. I'm not sure yet what's the best API for it. Any idea is welcome :)

I will try to come back later in the week-end with more feedback.

willemdj commented 6 years ago

@benoitc: Yes, including hpack would be useful, but I am not sure if there are any license implications?

I also agree that there is room for improvement regarding the monitoring. To be honest I cannot make a suggestion right now; if you fix it it will be very welcome, if not I will look into it later.

Looking forward to your comments, thanks so far!

2017-09-22 15:06 GMT+02:00 Benoit Chesneau notifications@github.com:

@willemdj https://github.com/willemdj sorry, have been busy these days. O still have to put the code under test.

What I did for now is to makes the code of the client more "standalone" by including directly in it the hpack module from cowboy, this allowed me to have the client running even in micro-services that are still using cowboy 1 or old versions of cowlib. Maybe this is something you would be interested in ?

A thing on my todo list is to add a way to monitor the client connection and put it in a connection pull. For now what you return is a map. So somply adding it to a supervisor spec isn't enough. I'm not sure yet what's the best API for it. Any idea is welcome :)

I will try to come back later in the week-end with more feedback.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Bluehouse-Technology/grpc/issues/7#issuecomment-331441423, or mute the thread https://github.com/notifications/unsubscribe-auth/AAJjxxDF8SVKEexEf7LO99N7tf8Vy-Bzks5sk7DsgaJpZM4Olko8 .