So, Generic services in generators have been deprecated for some time now in favour of a plugin-based approach to generating their code. The issue is, however, that I'm highly interested in having just generic services generated. The languages I'm using Protobufs with are CSharp and Golang.
For Go, I've managed to create a plugin for protoc-gen-go which *sort of* does what I want in GoLang, but being that I don't fully understand how the protoc-gen-go plugin works I often find that it's using wrong typenames for returns or parameters. The most highly-supported solution for Protobuf RPC is GRPC, but the issue I have with that is, that it very much forces you to use it as your entire protocol and application framework. I'm wanting to use RPC for a game, so opening a HTTP connection every time I want to use an RPC method is bordering on insane. Are there any plugins out there, for these two languages, which generate generic services with a "DIY" approach to the protocol? I'm talking like, a server which lets you feed it the request in-app and returns the result, and a client where your code receives the RPC request information and you've got to send it, and handle the response. I've tried also rewriting the entire GRPC library in both languages, but there's so much redundancy and compromises being made to fit it's API, it really isn't practical. When I was using Java as a language (before I changed to Go), I found that the generic services generated by the protobuf java compiler to be perfect for what I needed. So anything that closely resembles the generic services model would be great. Any suggestions? Since I would be handling the protocol, it doesn't need to be the same plugin. -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.
