C++ Riak client?

Mike Oxford moxford at gmail.com
Sat Apr 9 12:35:22 EDT 2011


So you have Google protocol buffers wrapped in a TLV-type (LTV?) format.

Good to know, thanks for the clarification!

For anyone writing a basic client:
http://code.google.com/apis/protocolbuffers/docs/cpptutorial.html
Substitute with iostreams fed from the network and there you go.

-mox



On Sat, Apr 9, 2011 at 8:47 AM, Sean Cribbs <sean at basho.com> wrote:

> I didn't permanently abandon it, but it was much more fiddly than doing the
> same thing in pure Ruby.  I have plans to deliver separate "native" Protocol
> Buffers libraries for MRI and JRuby (at least) in 1.0 of the Ruby client.
>
> Because it's being confused in this conversation, I think it merits
> clarification -- the "protocol" that is used to talk to Riak and Google's
> Protocol Buffers are NOT the same thing. Riak uses a simple length- and
> message-code-prefixed binary protocol, in which the complex messages (ones
> that have bodies and not just the message code) are serialized via Google's
> Protocol Buffers.  So, while we don't use the RPC facilities in Google's
> library, the *serialization format* DOES use Protocol Buffers.
>
> Sorry for the confusion, we'll work to make that clearer in the wiki.
>
> Sean Cribbs <sean at basho.com>
> Developer Advocate
> Basho Technologies, Inc.
> http://basho.com/
>
> On Apr 8, 2011, at 9:17 PM, Scott Gonyea wrote:
>
> They are the same and you can actually see me plugging into the C++ code
> here:
>
> https://github.com/sgonyea/pabst/tree/master/ext
>
> But as part of an Objective-C library (called ObjFW).  So, the code is
> actually an Objective-C++ wrapper around the C++ PB code, that exchanges
> messages with Objective-C code (that hooks into Ruby).
>
> I believe Sean Cribbs has some initial C++-wrapper code in his Ripple
> repo...  Though he eventually abandoned it after C++ left him permanently
> cross-eyed (I think that's why).
>
> Scott
>
> On Apr 8, 2011, at 5:20 PM, Mike Oxford wrote:
>
> Be careful here..
>
> I do not thing Riak's "protocol buffers" are the same as Google's protocol
> buffers.
> Google's does bit-level packing and some other tricks that Riak does not
> do, even though they both use the ".proto" file extension and very very
> similar proto semantics.
>
> That said, if they ARE the same, then you can take the .proto files and
> generate C++ classes, and use the secondary library "protobuf-c" to generate
> C structs for the wire format.
>
> -mox
>
> On Fri, Apr 8, 2011 at 4:43 PM, David Leimbach <leimy2k at gmail.com> wrote:
>
>> Spent a little time poking at this today... Kind of surprised that there
>> was no message defined for PingReq or for listing buckets.
>>
>> I realize these messages really have no usable payload, and just sort of
>> have a tag and length, but for completeness it kind of feels like they
>> should be there.
>>
>> Of course I'm not a Protocol Buffers expert in any sense, so I can't say
>> whether this is a normal kind of choice or not.
>>
>> Dave
>>
>>
>> On Fri, Apr 8, 2011 at 2:49 PM, Scott Gonyea <scott at aitrus.org> wrote:
>>
>>> If we had this then a C-wrapper would be that much more attainable. So,
>>> the author of such a lib would be a superstar in my book :).
>>>
>>> Sent from my iPhone
>>>
>>> On Apr 8, 2011, at 1:46 PM, David Leimbach <leimy2k at gmail.com> wrote:
>>>
>>> > I've been writing a bit of code in Haskell to push data to Riak, and
>>> the bindings are pretty easy to use (Thanks Brian!), but getting penetration
>>> at my company for Haskell is going to take a little time.
>>> >
>>> > As such I'm just wondering if anyone knows of anyone working on a
>>> protocol buffers version of a Riak client in C++, or if this is going to be
>>> something I'll have to take on.
>>> >
>>> > I've found a few generic looking C++ projects that use Boost's
>>> asynchronous IO stuff with protocol buffers to make an RPC system, but I'm
>>> not sure if any of those are implicitly compatible.
>>> >
>>> > Guess I'm just looking for a pointer...
>>> >
>>> > Dave
>>> > _______________________________________________
>>> > riak-users mailing list
>>> > riak-users at lists.basho.com
>>> > http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>>>
>>
>>
>> _______________________________________________
>> riak-users mailing list
>> riak-users at lists.basho.com
>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>>
>>
> _______________________________________________
> riak-users mailing list
> riak-users at lists.basho.com
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>
>
> _______________________________________________
> riak-users mailing list
> riak-users at lists.basho.com
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.basho.com/pipermail/riak-users_lists.basho.com/attachments/20110409/344a51a7/attachment.html>


More information about the riak-users mailing list