First (sort of) working version of gRPC based on SwiftNIO-HTTP2

I hope this is the right place to post this — I created a basic serving-only version of SwiftGRPC based on SwiftNIO-HTTP2 over the weekend:

The PR mentioned above contains a long laundry list of shortcomings and my own concerns that still need to be addressed; input from the SwiftNIO and SwiftProtobuf communities would be very much appreciated, particularly about whether the code needs to be made more SwiftNIO-"idiomatic" and how to best handle errors. Replies to any points in the laundry list would be helpful.



This is absolutely the right place to post this, very cool work! I'll find some time this afternoon to take a look over your list and see if there's any feedback I can provide.

Wow, that's great work indeed, really happy to see this happening! I'll let @lukasa take a first look at your PR and as I said before we're here to help.

Really cool! I had managed to configure envoy to make the HTTP1.1 translation, but having it in SwiftGRPC is much better (less dependencies!). Is there a way to detect that a message is HTTP1.1 and only then apply the conversion? It looks like the sample server for now is hardcoded into receiving HTTP1.1 messages

I think upgrading on-demang to HTTP2 should be possible. However, I'd like to reach feature parity with SwiftGRPC before looking into such things.

Still happy about any feedback you might have :-)