This is experimental, alpha code. If you’re running it in production, you do so at your own risk. While Basho fully intends to work on this when our development cycle permits, at the moment this libary is still very young and is in no way complete. In its current state, it will break, and there will be bugs.
That said, we do want for it to become a first class citizen in our Client Library arsenal at some point. With your help, this will be sooner than later.
This is a WIP of a C/C++ client for Riak.
/* fetch an object */
riak::client_ptr c = riak::new_client("127.0.0.1", "8087");
riak::fetch_result fr = c->fetch("mybucket", "mykey", 2);
riak::object_ptr o = fr.choose_sibling(0);
assert(o->key() == "mykey");
- protobufs only
- no links or MR
- basic client and high-level client inspired by the new java client
- basic client is complete, high-level client in progress
- C wrapper in progress
- embedded deps (protobufs, boost::asio)
- autotools build
- needs WAY more tests
Minimal API documentation is available at Github.
./configure
make
make check
sudo make install
We encourage contributions from the community.
- Fork the
riak-cxx-client
repository on Github. - Clone your fork or add the remote if you already have a clone of the repository.
git clone [email protected]:yourusername/riak-cxx-client.git
# or
git remote add mine [email protected]:yourusername/riak-cxx-client.git
- Create a topic branch for your change.
git checkout -b some-topic-branch
- Make your change and commit. Use a clear and descriptive commit message, spanning multiple lines if detailed explanation is needed.
- Push to your fork of the repository and then send a pull-request through Github.
git push mine some-topic-branch
- A Basho engineer or community maintainer will review your patch and merge it into the main repository or send you feedback.