C++ Riak client?

David Leimbach leimy2k at gmail.com
Mon Apr 11 11:55:11 EDT 2011


Sean I'm looking at this page "http://wiki.basho.com/PBC-API.html".  Did you
have a different one in mind?

Dave

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

> Yes, that's correct (LTV). The wiki page should explain this fairly well.
>
> Sean Cribbs <sean at basho.com>
> Developer Advocate
> Basho Technologies, Inc.
> http://basho.com/
>
> On Apr 9, 2011, at 12:35 PM, Mike Oxford wrote:
>
> 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
>>
>>
>>
>
>
> _______________________________________________
> 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/20110411/659842e8/attachment.html>


More information about the riak-users mailing list