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


(Daniel Alm) #1

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: https://github.com/grpc/grpc-swift/pull/281

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.

Thanks,
Daniel


(Cory Benfield) #2

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.


(Johannes Weiss) #3

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.


(Sergio Campama) #4

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


(Daniel Alm) #5

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.


(Daniel Alm) #6

Still happy about any feedback you might have :-)