I am actively pursuing moving a proprietary RPC mechanism to GRPC. And the
languages currently needed are Ruby, Go, and Java.

I didn't realize before trying a few things today that the newly added
languages/platforms in proto3 (e.g. Ruby) cannot generate code via protoc
for language level 2. This looks like it could be a serious blocker for
what I and my team want to do.

Is this stance, to not support language level 2, a hard stance? We cannot
(nor do we even want to) move all of our protos to language level 3. We use
extensions.

*If we wanted to contribute a patch to protoc to support language level 2
in Ruby, would it be accepted?*

We could likely make due with the changes in semantics for default values
and unknown fields/enum values. So we could just run the existing
language-level-3 code-gen against language level 2 source files. But we'd
need to implement some mechanism to support extensions.

If such a patch would never be accepted, would it be feasible for us to use
a 3rd party proto gem for Ruby with GRPC? I'm quite familiar with the Java
implementation of GRPC and know that it has a layer that is independent
from protos (which, in Java, enables the use of Nano instead of the
standard Java runtime). This could be used to support different mechanisms
for marshalling data, including even alternate IDLs and formats (thrift,
JSON, etc).

Is the C implementation (and Ruby bindings) architected this way, too? If
so, it seems like it should be possible to graft non-protoc generated
protos onto GRPC.

----
*Josh Humphries*
Manager, Shared Systems  |  Platform Engineering
Atlanta, GA  |  678-400-4867
*Square* (www.squareup.com)

-- 
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 protobuf+unsubscr...@googlegroups.com.
To post to this group, send email to protobuf@googlegroups.com.
Visit this group at https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to