> It's still
> difficult to write a client because there needs to be language specific
> implementations for the rpc mapper that maps jute Record to protobuf.

No. I'm sorry if it isn't clear. RecordMapper and all related classes 
(everything in this package: 
https://github.com/Randgalt/zookeeper/tree/wip-grpc/zookeeper-grpc/src/main/java/org/apache/zookeeper/grpc
 
<https://github.com/Randgalt/zookeeper/tree/wip-grpc/zookeeper-grpc/src/main/java/org/apache/zookeeper/grpc>)
 is meant to be part of ZooKeeper server itself (ignore ClientTester and 
ServerTester - those are just dummy test classes). Clients do not need to 
implement this. The mapping between protobuf data structures and ZooKeeper 
internal datastructures will all be inside of ZooKeeper itself. 

Have a look at the quickie Go implementation I did. No mapping here. Just 
straight protobuf and gRPC.

https://github.com/Randgalt/zkgrpc/tree/master/zookeeper 
<https://github.com/Randgalt/zkgrpc/tree/master/zookeeper>

Or, am I missing something you're seeing?

-Jordan

> On Nov 24, 2019, at 4:40 PM, Michael Han <h...@apache.org> wrote:
> 
>>> That's 100% protobuf/gRPC
> 
> Yes agree. Sorry, I should be probably more clear. What I meant
> "serialization format" in this case is jute's Record, which is still used
> in the POC code base. The wire serialization format is protobuf, and it's
> converted to / from Record through the rpc mapper utility. It's still
> difficult to write a client because there needs to be language specific
> implementations for the rpc mapper that maps jute Record to protobuf.
> 
> On Thu, Nov 21, 2019 at 6:56 AM Jordan Zimmerman <jor...@jordanzimmerman.com>
> wrote:
> 
>>> The proof of concept is still using jute as serialization format, which
>>> makes write a client library harder. Use protobuf as serialization format
>>> might achieve this goal the marshal / unmarshal code can be generated
>>> automatically.
>> 
>> No it doesn't. Have you seen "zookeeper.proto"? That's 100% protobuf/gRPC.
>> 
>> -Jordan
>> 

Reply via email to