Hey Jon, 
Any chance you want to implement the RawClient interface 
(https://github.com/basho/riak-java-client/blob/master/src/main/java/com/basho/riak/client/raw/RawClient.java)
 from the basho riak-java-client library? That way your client can be swapped 
straight into the basho lib?

If not, let me know when you get a repo up on github and I'll write an adapter 
so that the basho riak-java-client can make use of your Grizzly client, which I 
guess means I'll pitch in a little (time permitting) to help shape the Grizzly 
client so it is RawClient shaped.

Cheers

Russell

On 21 Jun 2011, at 17:58, Jon Brisbin wrote:

> I'm trying to get my feet wet with Grizzly on another project, so I've been 
> spending some late(ish) nights also working on a Grizzly-based asynchronous 
> PB client for Riak. I'm dropping all the way down to the protobuf level and 
> using Grizzly's NIO abstractions to implement a completely non-blocking 
> client. I'm writing the low-level stuff in Java and I'd really like to build 
> a Scala layer on top of this, which uses the nice Scala idioms (operators, 
> case classes, etc...). But I can't write code as fast in Scala as I can in 
> Java and some of the Java APIs inside Grizzly aren't all that Scala-friendly 
> and make the code pretty ugly. I figured it would be better to implement a 
> fairly low-level PB client in Java and flesh out the user-facing API in Scala 
> and/or Java.
> 
> My question is basically, if I seed this project on GitHub with what I've got 
> so far, would anyone else be interested in helping complete it? I'm just 
> working on this after my other Grizzly work, so I can't devote full time to 
> it. It might take me a little while to implement things like links and 
> mapreduce.
> 
> I think it shows some real promise because it is completely non-blocking. It 
> uses Futures and CompletionHandlers to do the dirty work. A Grizzly filter is 
> responsible for the actual encoding/decoding of protobuf data. Right now, it 
> will marshall JSON using Jackson if your content-type is set to 
> "application/json", otherwise it uses JDK serialization to encode the entry 
> (or just passes a String straight through, of course).
> 
> Since it's a first pass, there is no real attempt to separate the protobuf 
> stuff from the client. That's a v2 thing. Since I have limited time, I'm 
> interested in speed to completion of features rather than good-looking and 
> properly abstracted code. :)
> 
> Thanks!
> 
> Jon Brisbin
> http//jbrisbin.com
> 
> 
> _______________________________________________
> riak-users mailing list
> riak-users@lists.basho.com
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to