Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

C/C++ client for the Riak distributed database

branch: master
README.org

Riak C/C++ Client

READ THIS

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.

Overview

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.

Quick Start

./configure
make
make check
sudo make install

Contributing

We encourage contributions from the community.

  1. Fork the riak-cxx-client repository on Github.
  2. Clone your fork or add the remote if you already have a clone of the repository.
git clone git@github.com:yourusername/riak-cxx-client.git
# or
git remote add mine git@github.com:yourusername/riak-cxx-client.git
  1. Create a topic branch for your change.
git checkout -b some-topic-branch
  1. Make your change and commit. Use a clear and descriptive commit message, spanning multiple lines if detailed explanation is needed.
  2. Push to your fork of the repository and then send a pull-request through Github.
git push mine some-topic-branch
  1. A Basho engineer or community maintainer will review your patch and merge it into the main repository or send you feedback.
Something went wrong with that request. Please try again.