Commits

Sean Cribbs committed 72124df

WIP PBC API via C++ protobuffs.

Comments (0)

Files changed (7)

riak-client/ext/mri/extconf.rb

+require 'mkmf'
+#cpp_command('g++')
+have_library("stdc++")
+dir_config('protobuf')
+unless have_library('protobuf')
+  $stderr.puts "Please install protobuf-2.3.0 for your system."
+  exit 1
+end
+create_makefile('riakpb')

riak-client/ext/mri/riakclient.pb.cc

+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+
+#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
+#include "riakclient.pb.h"
+#include <google/protobuf/stubs/once.h>
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/wire_format_lite_inl.h>
+#include <google/protobuf/descriptor.h>
+#include <google/protobuf/reflection_ops.h>
+#include <google/protobuf/wire_format.h>
+// @@protoc_insertion_point(includes)
+
+namespace {
+
+const ::google::protobuf::Descriptor* RpbErrorResp_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  RpbErrorResp_reflection_ = NULL;
+const ::google::protobuf::Descriptor* RpbGetClientIdResp_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  RpbGetClientIdResp_reflection_ = NULL;
+const ::google::protobuf::Descriptor* RpbSetClientIdReq_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  RpbSetClientIdReq_reflection_ = NULL;
+const ::google::protobuf::Descriptor* RpbGetServerInfoResp_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  RpbGetServerInfoResp_reflection_ = NULL;
+const ::google::protobuf::Descriptor* RpbGetReq_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  RpbGetReq_reflection_ = NULL;
+const ::google::protobuf::Descriptor* RpbGetResp_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  RpbGetResp_reflection_ = NULL;
+const ::google::protobuf::Descriptor* RpbPutReq_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  RpbPutReq_reflection_ = NULL;
+const ::google::protobuf::Descriptor* RpbPutResp_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  RpbPutResp_reflection_ = NULL;
+const ::google::protobuf::Descriptor* RpbDelReq_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  RpbDelReq_reflection_ = NULL;
+const ::google::protobuf::Descriptor* RpbListBucketsResp_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  RpbListBucketsResp_reflection_ = NULL;
+const ::google::protobuf::Descriptor* RpbListKeysReq_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  RpbListKeysReq_reflection_ = NULL;
+const ::google::protobuf::Descriptor* RpbListKeysResp_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  RpbListKeysResp_reflection_ = NULL;
+const ::google::protobuf::Descriptor* RpbGetBucketReq_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  RpbGetBucketReq_reflection_ = NULL;
+const ::google::protobuf::Descriptor* RpbGetBucketResp_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  RpbGetBucketResp_reflection_ = NULL;
+const ::google::protobuf::Descriptor* RpbSetBucketReq_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  RpbSetBucketReq_reflection_ = NULL;
+const ::google::protobuf::Descriptor* RpbMapRedReq_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  RpbMapRedReq_reflection_ = NULL;
+const ::google::protobuf::Descriptor* RpbMapRedResp_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  RpbMapRedResp_reflection_ = NULL;
+const ::google::protobuf::Descriptor* RpbContent_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  RpbContent_reflection_ = NULL;
+const ::google::protobuf::Descriptor* RpbPair_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  RpbPair_reflection_ = NULL;
+const ::google::protobuf::Descriptor* RpbLink_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  RpbLink_reflection_ = NULL;
+const ::google::protobuf::Descriptor* RpbBucketProps_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  RpbBucketProps_reflection_ = NULL;
+
+}  // namespace
+
+
+void protobuf_AssignDesc_riakclient_2eproto() {
+  protobuf_AddDesc_riakclient_2eproto();
+  const ::google::protobuf::FileDescriptor* file =
+    ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
+      "riakclient.proto");
+  GOOGLE_CHECK(file != NULL);
+  RpbErrorResp_descriptor_ = file->message_type(0);
+  static const int RpbErrorResp_offsets_[2] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbErrorResp, errmsg_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbErrorResp, errcode_),
+  };
+  RpbErrorResp_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      RpbErrorResp_descriptor_,
+      RpbErrorResp::default_instance_,
+      RpbErrorResp_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbErrorResp, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbErrorResp, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(RpbErrorResp));
+  RpbGetClientIdResp_descriptor_ = file->message_type(1);
+  static const int RpbGetClientIdResp_offsets_[1] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbGetClientIdResp, client_id_),
+  };
+  RpbGetClientIdResp_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      RpbGetClientIdResp_descriptor_,
+      RpbGetClientIdResp::default_instance_,
+      RpbGetClientIdResp_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbGetClientIdResp, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbGetClientIdResp, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(RpbGetClientIdResp));
+  RpbSetClientIdReq_descriptor_ = file->message_type(2);
+  static const int RpbSetClientIdReq_offsets_[1] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbSetClientIdReq, client_id_),
+  };
+  RpbSetClientIdReq_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      RpbSetClientIdReq_descriptor_,
+      RpbSetClientIdReq::default_instance_,
+      RpbSetClientIdReq_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbSetClientIdReq, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbSetClientIdReq, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(RpbSetClientIdReq));
+  RpbGetServerInfoResp_descriptor_ = file->message_type(3);
+  static const int RpbGetServerInfoResp_offsets_[2] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbGetServerInfoResp, node_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbGetServerInfoResp, server_version_),
+  };
+  RpbGetServerInfoResp_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      RpbGetServerInfoResp_descriptor_,
+      RpbGetServerInfoResp::default_instance_,
+      RpbGetServerInfoResp_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbGetServerInfoResp, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbGetServerInfoResp, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(RpbGetServerInfoResp));
+  RpbGetReq_descriptor_ = file->message_type(4);
+  static const int RpbGetReq_offsets_[3] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbGetReq, bucket_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbGetReq, key_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbGetReq, r_),
+  };
+  RpbGetReq_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      RpbGetReq_descriptor_,
+      RpbGetReq::default_instance_,
+      RpbGetReq_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbGetReq, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbGetReq, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(RpbGetReq));
+  RpbGetResp_descriptor_ = file->message_type(5);
+  static const int RpbGetResp_offsets_[2] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbGetResp, content_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbGetResp, vclock_),
+  };
+  RpbGetResp_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      RpbGetResp_descriptor_,
+      RpbGetResp::default_instance_,
+      RpbGetResp_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbGetResp, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbGetResp, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(RpbGetResp));
+  RpbPutReq_descriptor_ = file->message_type(6);
+  static const int RpbPutReq_offsets_[7] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbPutReq, bucket_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbPutReq, key_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbPutReq, vclock_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbPutReq, content_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbPutReq, w_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbPutReq, dw_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbPutReq, return_body_),
+  };
+  RpbPutReq_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      RpbPutReq_descriptor_,
+      RpbPutReq::default_instance_,
+      RpbPutReq_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbPutReq, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbPutReq, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(RpbPutReq));
+  RpbPutResp_descriptor_ = file->message_type(7);
+  static const int RpbPutResp_offsets_[2] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbPutResp, content_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbPutResp, vclock_),
+  };
+  RpbPutResp_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      RpbPutResp_descriptor_,
+      RpbPutResp::default_instance_,
+      RpbPutResp_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbPutResp, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbPutResp, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(RpbPutResp));
+  RpbDelReq_descriptor_ = file->message_type(8);
+  static const int RpbDelReq_offsets_[3] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbDelReq, bucket_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbDelReq, key_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbDelReq, rw_),
+  };
+  RpbDelReq_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      RpbDelReq_descriptor_,
+      RpbDelReq::default_instance_,
+      RpbDelReq_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbDelReq, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbDelReq, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(RpbDelReq));
+  RpbListBucketsResp_descriptor_ = file->message_type(9);
+  static const int RpbListBucketsResp_offsets_[1] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbListBucketsResp, buckets_),
+  };
+  RpbListBucketsResp_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      RpbListBucketsResp_descriptor_,
+      RpbListBucketsResp::default_instance_,
+      RpbListBucketsResp_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbListBucketsResp, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbListBucketsResp, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(RpbListBucketsResp));
+  RpbListKeysReq_descriptor_ = file->message_type(10);
+  static const int RpbListKeysReq_offsets_[1] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbListKeysReq, bucket_),
+  };
+  RpbListKeysReq_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      RpbListKeysReq_descriptor_,
+      RpbListKeysReq::default_instance_,
+      RpbListKeysReq_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbListKeysReq, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbListKeysReq, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(RpbListKeysReq));
+  RpbListKeysResp_descriptor_ = file->message_type(11);
+  static const int RpbListKeysResp_offsets_[2] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbListKeysResp, keys_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbListKeysResp, done_),
+  };
+  RpbListKeysResp_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      RpbListKeysResp_descriptor_,
+      RpbListKeysResp::default_instance_,
+      RpbListKeysResp_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbListKeysResp, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbListKeysResp, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(RpbListKeysResp));
+  RpbGetBucketReq_descriptor_ = file->message_type(12);
+  static const int RpbGetBucketReq_offsets_[1] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbGetBucketReq, bucket_),
+  };
+  RpbGetBucketReq_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      RpbGetBucketReq_descriptor_,
+      RpbGetBucketReq::default_instance_,
+      RpbGetBucketReq_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbGetBucketReq, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbGetBucketReq, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(RpbGetBucketReq));
+  RpbGetBucketResp_descriptor_ = file->message_type(13);
+  static const int RpbGetBucketResp_offsets_[1] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbGetBucketResp, props_),
+  };
+  RpbGetBucketResp_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      RpbGetBucketResp_descriptor_,
+      RpbGetBucketResp::default_instance_,
+      RpbGetBucketResp_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbGetBucketResp, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbGetBucketResp, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(RpbGetBucketResp));
+  RpbSetBucketReq_descriptor_ = file->message_type(14);
+  static const int RpbSetBucketReq_offsets_[2] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbSetBucketReq, bucket_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbSetBucketReq, props_),
+  };
+  RpbSetBucketReq_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      RpbSetBucketReq_descriptor_,
+      RpbSetBucketReq::default_instance_,
+      RpbSetBucketReq_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbSetBucketReq, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbSetBucketReq, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(RpbSetBucketReq));
+  RpbMapRedReq_descriptor_ = file->message_type(15);
+  static const int RpbMapRedReq_offsets_[2] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbMapRedReq, request_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbMapRedReq, content_type_),
+  };
+  RpbMapRedReq_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      RpbMapRedReq_descriptor_,
+      RpbMapRedReq::default_instance_,
+      RpbMapRedReq_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbMapRedReq, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbMapRedReq, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(RpbMapRedReq));
+  RpbMapRedResp_descriptor_ = file->message_type(16);
+  static const int RpbMapRedResp_offsets_[3] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbMapRedResp, phase_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbMapRedResp, response_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbMapRedResp, done_),
+  };
+  RpbMapRedResp_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      RpbMapRedResp_descriptor_,
+      RpbMapRedResp::default_instance_,
+      RpbMapRedResp_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbMapRedResp, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbMapRedResp, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(RpbMapRedResp));
+  RpbContent_descriptor_ = file->message_type(17);
+  static const int RpbContent_offsets_[9] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbContent, value_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbContent, content_type_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbContent, charset_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbContent, content_encoding_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbContent, vtag_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbContent, links_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbContent, last_mod_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbContent, last_mod_usecs_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbContent, usermeta_),
+  };
+  RpbContent_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      RpbContent_descriptor_,
+      RpbContent::default_instance_,
+      RpbContent_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbContent, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbContent, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(RpbContent));
+  RpbPair_descriptor_ = file->message_type(18);
+  static const int RpbPair_offsets_[2] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbPair, key_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbPair, value_),
+  };
+  RpbPair_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      RpbPair_descriptor_,
+      RpbPair::default_instance_,
+      RpbPair_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbPair, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbPair, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(RpbPair));
+  RpbLink_descriptor_ = file->message_type(19);
+  static const int RpbLink_offsets_[3] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbLink, bucket_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbLink, key_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbLink, tag_),
+  };
+  RpbLink_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      RpbLink_descriptor_,
+      RpbLink::default_instance_,
+      RpbLink_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbLink, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbLink, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(RpbLink));
+  RpbBucketProps_descriptor_ = file->message_type(20);
+  static const int RpbBucketProps_offsets_[2] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbBucketProps, n_val_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbBucketProps, allow_mult_),
+  };
+  RpbBucketProps_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      RpbBucketProps_descriptor_,
+      RpbBucketProps::default_instance_,
+      RpbBucketProps_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbBucketProps, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RpbBucketProps, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(RpbBucketProps));
+}
+
+namespace {
+
+GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
+inline void protobuf_AssignDescriptorsOnce() {
+  ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
+                 &protobuf_AssignDesc_riakclient_2eproto);
+}
+
+void protobuf_RegisterTypes(const ::std::string&) {
+  protobuf_AssignDescriptorsOnce();
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    RpbErrorResp_descriptor_, &RpbErrorResp::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    RpbGetClientIdResp_descriptor_, &RpbGetClientIdResp::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    RpbSetClientIdReq_descriptor_, &RpbSetClientIdReq::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    RpbGetServerInfoResp_descriptor_, &RpbGetServerInfoResp::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    RpbGetReq_descriptor_, &RpbGetReq::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    RpbGetResp_descriptor_, &RpbGetResp::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    RpbPutReq_descriptor_, &RpbPutReq::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    RpbPutResp_descriptor_, &RpbPutResp::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    RpbDelReq_descriptor_, &RpbDelReq::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    RpbListBucketsResp_descriptor_, &RpbListBucketsResp::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    RpbListKeysReq_descriptor_, &RpbListKeysReq::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    RpbListKeysResp_descriptor_, &RpbListKeysResp::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    RpbGetBucketReq_descriptor_, &RpbGetBucketReq::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    RpbGetBucketResp_descriptor_, &RpbGetBucketResp::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    RpbSetBucketReq_descriptor_, &RpbSetBucketReq::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    RpbMapRedReq_descriptor_, &RpbMapRedReq::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    RpbMapRedResp_descriptor_, &RpbMapRedResp::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    RpbContent_descriptor_, &RpbContent::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    RpbPair_descriptor_, &RpbPair::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    RpbLink_descriptor_, &RpbLink::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    RpbBucketProps_descriptor_, &RpbBucketProps::default_instance());
+}
+
+}  // namespace
+
+void protobuf_ShutdownFile_riakclient_2eproto() {
+  delete RpbErrorResp::default_instance_;
+  delete RpbErrorResp_reflection_;
+  delete RpbGetClientIdResp::default_instance_;
+  delete RpbGetClientIdResp_reflection_;
+  delete RpbSetClientIdReq::default_instance_;
+  delete RpbSetClientIdReq_reflection_;
+  delete RpbGetServerInfoResp::default_instance_;
+  delete RpbGetServerInfoResp_reflection_;
+  delete RpbGetReq::default_instance_;
+  delete RpbGetReq_reflection_;
+  delete RpbGetResp::default_instance_;
+  delete RpbGetResp_reflection_;
+  delete RpbPutReq::default_instance_;
+  delete RpbPutReq_reflection_;
+  delete RpbPutResp::default_instance_;
+  delete RpbPutResp_reflection_;
+  delete RpbDelReq::default_instance_;
+  delete RpbDelReq_reflection_;
+  delete RpbListBucketsResp::default_instance_;
+  delete RpbListBucketsResp_reflection_;
+  delete RpbListKeysReq::default_instance_;
+  delete RpbListKeysReq_reflection_;
+  delete RpbListKeysResp::default_instance_;
+  delete RpbListKeysResp_reflection_;
+  delete RpbGetBucketReq::default_instance_;
+  delete RpbGetBucketReq_reflection_;
+  delete RpbGetBucketResp::default_instance_;
+  delete RpbGetBucketResp_reflection_;
+  delete RpbSetBucketReq::default_instance_;
+  delete RpbSetBucketReq_reflection_;
+  delete RpbMapRedReq::default_instance_;
+  delete RpbMapRedReq_reflection_;
+  delete RpbMapRedResp::default_instance_;
+  delete RpbMapRedResp_reflection_;
+  delete RpbContent::default_instance_;
+  delete RpbContent_reflection_;
+  delete RpbPair::default_instance_;
+  delete RpbPair_reflection_;
+  delete RpbLink::default_instance_;
+  delete RpbLink_reflection_;
+  delete RpbBucketProps::default_instance_;
+  delete RpbBucketProps_reflection_;
+}
+
+void protobuf_AddDesc_riakclient_2eproto() {
+  static bool already_here = false;
+  if (already_here) return;
+  already_here = true;
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
+    "\n\020riakclient.proto\"/\n\014RpbErrorResp\022\016\n\006er"
+    "rmsg\030\001 \002(\014\022\017\n\007errcode\030\002 \002(\r\"\'\n\022RpbGetCli"
+    "entIdResp\022\021\n\tclient_id\030\001 \002(\014\"&\n\021RpbSetCl"
+    "ientIdReq\022\021\n\tclient_id\030\001 \002(\014\"<\n\024RpbGetSe"
+    "rverInfoResp\022\014\n\004node\030\001 \001(\014\022\026\n\016server_ver"
+    "sion\030\002 \001(\014\"3\n\tRpbGetReq\022\016\n\006bucket\030\001 \002(\014\022"
+    "\013\n\003key\030\002 \002(\014\022\t\n\001r\030\003 \001(\r\":\n\nRpbGetResp\022\034\n"
+    "\007content\030\001 \003(\0132\013.RpbContent\022\016\n\006vclock\030\002 "
+    "\001(\014\"\202\001\n\tRpbPutReq\022\016\n\006bucket\030\001 \002(\014\022\013\n\003key"
+    "\030\002 \002(\014\022\016\n\006vclock\030\003 \001(\014\022\034\n\007content\030\004 \002(\0132"
+    "\013.RpbContent\022\t\n\001w\030\005 \001(\r\022\n\n\002dw\030\006 \001(\r\022\023\n\013r"
+    "eturn_body\030\007 \001(\010\":\n\nRpbPutResp\022\034\n\007conten"
+    "t\030\001 \003(\0132\013.RpbContent\022\016\n\006vclock\030\002 \001(\014\"4\n\t"
+    "RpbDelReq\022\016\n\006bucket\030\001 \002(\014\022\013\n\003key\030\002 \002(\014\022\n"
+    "\n\002rw\030\003 \001(\r\"%\n\022RpbListBucketsResp\022\017\n\007buck"
+    "ets\030\001 \003(\014\" \n\016RpbListKeysReq\022\016\n\006bucket\030\001 "
+    "\002(\014\"-\n\017RpbListKeysResp\022\014\n\004keys\030\001 \003(\014\022\014\n\004"
+    "done\030\002 \001(\010\"!\n\017RpbGetBucketReq\022\016\n\006bucket\030"
+    "\001 \002(\014\"2\n\020RpbGetBucketResp\022\036\n\005props\030\001 \002(\013"
+    "2\017.RpbBucketProps\"A\n\017RpbSetBucketReq\022\016\n\006"
+    "bucket\030\001 \002(\014\022\036\n\005props\030\002 \002(\0132\017.RpbBucketP"
+    "rops\"5\n\014RpbMapRedReq\022\017\n\007request\030\001 \002(\014\022\024\n"
+    "\014content_type\030\002 \002(\014\">\n\rRpbMapRedResp\022\r\n\005"
+    "phase\030\001 \001(\r\022\020\n\010response\030\002 \001(\014\022\014\n\004done\030\003 "
+    "\001(\010\"\311\001\n\nRpbContent\022\r\n\005value\030\001 \002(\014\022\024\n\014con"
+    "tent_type\030\002 \001(\014\022\017\n\007charset\030\003 \001(\014\022\030\n\020cont"
+    "ent_encoding\030\004 \001(\014\022\014\n\004vtag\030\005 \001(\014\022\027\n\005link"
+    "s\030\006 \003(\0132\010.RpbLink\022\020\n\010last_mod\030\007 \001(\r\022\026\n\016l"
+    "ast_mod_usecs\030\010 \001(\r\022\032\n\010usermeta\030\t \003(\0132\010."
+    "RpbPair\"%\n\007RpbPair\022\013\n\003key\030\001 \002(\014\022\r\n\005value"
+    "\030\002 \001(\014\"3\n\007RpbLink\022\016\n\006bucket\030\001 \001(\014\022\013\n\003key"
+    "\030\002 \001(\014\022\013\n\003tag\030\003 \001(\014\"3\n\016RpbBucketProps\022\r\n"
+    "\005n_val\030\001 \001(\r\022\022\n\nallow_mult\030\002 \001(\010", 1312);
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
+    "riakclient.proto", &protobuf_RegisterTypes);
+  RpbErrorResp::default_instance_ = new RpbErrorResp();
+  RpbGetClientIdResp::default_instance_ = new RpbGetClientIdResp();
+  RpbSetClientIdReq::default_instance_ = new RpbSetClientIdReq();
+  RpbGetServerInfoResp::default_instance_ = new RpbGetServerInfoResp();
+  RpbGetReq::default_instance_ = new RpbGetReq();
+  RpbGetResp::default_instance_ = new RpbGetResp();
+  RpbPutReq::default_instance_ = new RpbPutReq();
+  RpbPutResp::default_instance_ = new RpbPutResp();
+  RpbDelReq::default_instance_ = new RpbDelReq();
+  RpbListBucketsResp::default_instance_ = new RpbListBucketsResp();
+  RpbListKeysReq::default_instance_ = new RpbListKeysReq();
+  RpbListKeysResp::default_instance_ = new RpbListKeysResp();
+  RpbGetBucketReq::default_instance_ = new RpbGetBucketReq();
+  RpbGetBucketResp::default_instance_ = new RpbGetBucketResp();
+  RpbSetBucketReq::default_instance_ = new RpbSetBucketReq();
+  RpbMapRedReq::default_instance_ = new RpbMapRedReq();
+  RpbMapRedResp::default_instance_ = new RpbMapRedResp();
+  RpbContent::default_instance_ = new RpbContent();
+  RpbPair::default_instance_ = new RpbPair();
+  RpbLink::default_instance_ = new RpbLink();
+  RpbBucketProps::default_instance_ = new RpbBucketProps();
+  RpbErrorResp::default_instance_->InitAsDefaultInstance();
+  RpbGetClientIdResp::default_instance_->InitAsDefaultInstance();
+  RpbSetClientIdReq::default_instance_->InitAsDefaultInstance();
+  RpbGetServerInfoResp::default_instance_->InitAsDefaultInstance();
+  RpbGetReq::default_instance_->InitAsDefaultInstance();
+  RpbGetResp::default_instance_->InitAsDefaultInstance();
+  RpbPutReq::default_instance_->InitAsDefaultInstance();
+  RpbPutResp::default_instance_->InitAsDefaultInstance();
+  RpbDelReq::default_instance_->InitAsDefaultInstance();
+  RpbListBucketsResp::default_instance_->InitAsDefaultInstance();
+  RpbListKeysReq::default_instance_->InitAsDefaultInstance();
+  RpbListKeysResp::default_instance_->InitAsDefaultInstance();
+  RpbGetBucketReq::default_instance_->InitAsDefaultInstance();
+  RpbGetBucketResp::default_instance_->InitAsDefaultInstance();
+  RpbSetBucketReq::default_instance_->InitAsDefaultInstance();
+  RpbMapRedReq::default_instance_->InitAsDefaultInstance();
+  RpbMapRedResp::default_instance_->InitAsDefaultInstance();
+  RpbContent::default_instance_->InitAsDefaultInstance();
+  RpbPair::default_instance_->InitAsDefaultInstance();
+  RpbLink::default_instance_->InitAsDefaultInstance();
+  RpbBucketProps::default_instance_->InitAsDefaultInstance();
+  ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_riakclient_2eproto);
+}
+
+// Force AddDescriptors() to be called at static initialization time.
+struct StaticDescriptorInitializer_riakclient_2eproto {
+  StaticDescriptorInitializer_riakclient_2eproto() {
+    protobuf_AddDesc_riakclient_2eproto();
+  }
+} static_descriptor_initializer_riakclient_2eproto_;
+
+
+// ===================================================================
+
+const ::std::string RpbErrorResp::_default_errmsg_;
+#ifndef _MSC_VER
+const int RpbErrorResp::kErrmsgFieldNumber;
+const int RpbErrorResp::kErrcodeFieldNumber;
+#endif  // !_MSC_VER
+
+RpbErrorResp::RpbErrorResp()
+  : ::google::protobuf::Message() {
+  SharedCtor();
+}
+
+void RpbErrorResp::InitAsDefaultInstance() {
+}
+
+RpbErrorResp::RpbErrorResp(const RpbErrorResp& from)
+  : ::google::protobuf::Message() {
+  SharedCtor();
+  MergeFrom(from);
+}
+
+void RpbErrorResp::SharedCtor() {
+  _cached_size_ = 0;
+  errmsg_ = const_cast< ::std::string*>(&_default_errmsg_);
+  errcode_ = 0u;
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+}
+
+RpbErrorResp::~RpbErrorResp() {
+  SharedDtor();
+}
+
+void RpbErrorResp::SharedDtor() {
+  if (errmsg_ != &_default_errmsg_) {
+    delete errmsg_;
+  }
+  if (this != default_instance_) {
+  }
+}
+
+void RpbErrorResp::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* RpbErrorResp::descriptor() {
+  protobuf_AssignDescriptorsOnce();
+  return RpbErrorResp_descriptor_;
+}
+
+const RpbErrorResp& RpbErrorResp::default_instance() {
+  if (default_instance_ == NULL) protobuf_AddDesc_riakclient_2eproto();  return *default_instance_;
+}
+
+RpbErrorResp* RpbErrorResp::default_instance_ = NULL;
+
+RpbErrorResp* RpbErrorResp::New() const {
+  return new RpbErrorResp;
+}
+
+void RpbErrorResp::Clear() {
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (_has_bit(0)) {
+      if (errmsg_ != &_default_errmsg_) {
+        errmsg_->clear();
+      }
+    }
+    errcode_ = 0u;
+  }
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->Clear();
+}
+
+bool RpbErrorResp::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
+  ::google::protobuf::uint32 tag;
+  while ((tag = input->ReadTag()) != 0) {
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // required bytes errmsg = 1;
+      case 1: {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
+                input, this->mutable_errmsg()));
+        } else {
+          goto handle_uninterpreted;
+        }
+        if (input->ExpectTag(16)) goto parse_errcode;
+        break;
+      }
+      
+      // required uint32 errcode = 2;
+      case 2: {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+         parse_errcode:
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
+                 input, &errcode_)));
+          _set_bit(1);
+        } else {
+          goto handle_uninterpreted;
+        }
+        if (input->ExpectAtEnd()) return true;
+        break;
+      }
+      
+      default: {
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+          return true;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+  return true;
+#undef DO_
+}
+
+void RpbErrorResp::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // required bytes errmsg = 1;
+  if (_has_bit(0)) {
+    ::google::protobuf::internal::WireFormatLite::WriteBytes(
+      1, this->errmsg(), output);
+  }
+  
+  // required uint32 errcode = 2;
+  if (_has_bit(1)) {
+    ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->errcode(), output);
+  }
+  
+  if (!unknown_fields().empty()) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        unknown_fields(), output);
+  }
+}
+
+::google::protobuf::uint8* RpbErrorResp::SerializeWithCachedSizesToArray(
+    ::google::protobuf::uint8* target) const {
+  // required bytes errmsg = 1;
+  if (_has_bit(0)) {
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
+        1, this->errmsg(), target);
+  }
+  
+  // required uint32 errcode = 2;
+  if (_has_bit(1)) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->errcode(), target);
+  }
+  
+  if (!unknown_fields().empty()) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        unknown_fields(), target);
+  }
+  return target;
+}
+
+int RpbErrorResp::ByteSize() const {
+  int total_size = 0;
+  
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    // required bytes errmsg = 1;
+    if (has_errmsg()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::BytesSize(
+          this->errmsg());
+    }
+    
+    // required uint32 errcode = 2;
+    if (has_errcode()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::UInt32Size(
+          this->errcode());
+    }
+    
+  }
+  if (!unknown_fields().empty()) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        unknown_fields());
+  }
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = total_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void RpbErrorResp::MergeFrom(const ::google::protobuf::Message& from) {
+  GOOGLE_CHECK_NE(&from, this);
+  const RpbErrorResp* source =
+    ::google::protobuf::internal::dynamic_cast_if_available<const RpbErrorResp*>(
+      &from);
+  if (source == NULL) {
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+    MergeFrom(*source);
+  }
+}
+
+void RpbErrorResp::MergeFrom(const RpbErrorResp& from) {
+  GOOGLE_CHECK_NE(&from, this);
+  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (from._has_bit(0)) {
+      set_errmsg(from.errmsg());
+    }
+    if (from._has_bit(1)) {
+      set_errcode(from.errcode());
+    }
+  }
+  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
+}
+
+void RpbErrorResp::CopyFrom(const ::google::protobuf::Message& from) {
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void RpbErrorResp::CopyFrom(const RpbErrorResp& from) {
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool RpbErrorResp::IsInitialized() const {
+  if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
+  
+  return true;
+}
+
+void RpbErrorResp::Swap(RpbErrorResp* other) {
+  if (other != this) {
+    std::swap(errmsg_, other->errmsg_);
+    std::swap(errcode_, other->errcode_);
+    std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.Swap(&other->_unknown_fields_);
+    std::swap(_cached_size_, other->_cached_size_);
+  }
+}
+
+::google::protobuf::Metadata RpbErrorResp::GetMetadata() const {
+  protobuf_AssignDescriptorsOnce();
+  ::google::protobuf::Metadata metadata;
+  metadata.descriptor = RpbErrorResp_descriptor_;
+  metadata.reflection = RpbErrorResp_reflection_;
+  return metadata;
+}
+
+
+// ===================================================================
+
+const ::std::string RpbGetClientIdResp::_default_client_id_;
+#ifndef _MSC_VER
+const int RpbGetClientIdResp::kClientIdFieldNumber;
+#endif  // !_MSC_VER
+
+RpbGetClientIdResp::RpbGetClientIdResp()
+  : ::google::protobuf::Message() {
+  SharedCtor();
+}
+
+void RpbGetClientIdResp::InitAsDefaultInstance() {
+}
+
+RpbGetClientIdResp::RpbGetClientIdResp(const RpbGetClientIdResp& from)
+  : ::google::protobuf::Message() {
+  SharedCtor();
+  MergeFrom(from);
+}
+
+void RpbGetClientIdResp::SharedCtor() {
+  _cached_size_ = 0;
+  client_id_ = const_cast< ::std::string*>(&_default_client_id_);
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+}
+
+RpbGetClientIdResp::~RpbGetClientIdResp() {
+  SharedDtor();
+}
+
+void RpbGetClientIdResp::SharedDtor() {
+  if (client_id_ != &_default_client_id_) {
+    delete client_id_;
+  }
+  if (this != default_instance_) {
+  }
+}
+
+void RpbGetClientIdResp::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* RpbGetClientIdResp::descriptor() {
+  protobuf_AssignDescriptorsOnce();
+  return RpbGetClientIdResp_descriptor_;
+}
+
+const RpbGetClientIdResp& RpbGetClientIdResp::default_instance() {
+  if (default_instance_ == NULL) protobuf_AddDesc_riakclient_2eproto();  return *default_instance_;
+}
+
+RpbGetClientIdResp* RpbGetClientIdResp::default_instance_ = NULL;
+
+RpbGetClientIdResp* RpbGetClientIdResp::New() const {
+  return new RpbGetClientIdResp;
+}
+
+void RpbGetClientIdResp::Clear() {
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (_has_bit(0)) {
+      if (client_id_ != &_default_client_id_) {
+        client_id_->clear();
+      }
+    }
+  }
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->Clear();
+}
+
+bool RpbGetClientIdResp::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
+  ::google::protobuf::uint32 tag;
+  while ((tag = input->ReadTag()) != 0) {
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // required bytes client_id = 1;
+      case 1: {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
+                input, this->mutable_client_id()));
+        } else {
+          goto handle_uninterpreted;
+        }
+        if (input->ExpectAtEnd()) return true;
+        break;
+      }
+      
+      default: {
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+          return true;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+  return true;
+#undef DO_
+}
+
+void RpbGetClientIdResp::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // required bytes client_id = 1;
+  if (_has_bit(0)) {
+    ::google::protobuf::internal::WireFormatLite::WriteBytes(
+      1, this->client_id(), output);
+  }
+  
+  if (!unknown_fields().empty()) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        unknown_fields(), output);
+  }
+}
+
+::google::protobuf::uint8* RpbGetClientIdResp::SerializeWithCachedSizesToArray(
+    ::google::protobuf::uint8* target) const {
+  // required bytes client_id = 1;
+  if (_has_bit(0)) {
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
+        1, this->client_id(), target);
+  }
+  
+  if (!unknown_fields().empty()) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        unknown_fields(), target);
+  }
+  return target;
+}
+
+int RpbGetClientIdResp::ByteSize() const {
+  int total_size = 0;
+  
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    // required bytes client_id = 1;
+    if (has_client_id()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::BytesSize(
+          this->client_id());
+    }
+    
+  }
+  if (!unknown_fields().empty()) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        unknown_fields());
+  }
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = total_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void RpbGetClientIdResp::MergeFrom(const ::google::protobuf::Message& from) {
+  GOOGLE_CHECK_NE(&from, this);
+  const RpbGetClientIdResp* source =
+    ::google::protobuf::internal::dynamic_cast_if_available<const RpbGetClientIdResp*>(
+      &from);
+  if (source == NULL) {
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+    MergeFrom(*source);
+  }
+}
+
+void RpbGetClientIdResp::MergeFrom(const RpbGetClientIdResp& from) {
+  GOOGLE_CHECK_NE(&from, this);
+  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (from._has_bit(0)) {
+      set_client_id(from.client_id());
+    }
+  }
+  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
+}
+
+void RpbGetClientIdResp::CopyFrom(const ::google::protobuf::Message& from) {
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void RpbGetClientIdResp::CopyFrom(const RpbGetClientIdResp& from) {
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool RpbGetClientIdResp::IsInitialized() const {
+  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
+  
+  return true;
+}
+
+void RpbGetClientIdResp::Swap(RpbGetClientIdResp* other) {
+  if (other != this) {
+    std::swap(client_id_, other->client_id_);
+    std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.Swap(&other->_unknown_fields_);
+    std::swap(_cached_size_, other->_cached_size_);
+  }
+}
+
+::google::protobuf::Metadata RpbGetClientIdResp::GetMetadata() const {
+  protobuf_AssignDescriptorsOnce();
+  ::google::protobuf::Metadata metadata;
+  metadata.descriptor = RpbGetClientIdResp_descriptor_;
+  metadata.reflection = RpbGetClientIdResp_reflection_;
+  return metadata;
+}
+
+
+// ===================================================================
+
+const ::std::string RpbSetClientIdReq::_default_client_id_;
+#ifndef _MSC_VER
+const int RpbSetClientIdReq::kClientIdFieldNumber;
+#endif  // !_MSC_VER
+
+RpbSetClientIdReq::RpbSetClientIdReq()
+  : ::google::protobuf::Message() {
+  SharedCtor();
+}
+
+void RpbSetClientIdReq::InitAsDefaultInstance() {
+}
+
+RpbSetClientIdReq::RpbSetClientIdReq(const RpbSetClientIdReq& from)
+  : ::google::protobuf::Message() {
+  SharedCtor();
+  MergeFrom(from);
+}
+
+void RpbSetClientIdReq::SharedCtor() {
+  _cached_size_ = 0;
+  client_id_ = const_cast< ::std::string*>(&_default_client_id_);
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+}
+
+RpbSetClientIdReq::~RpbSetClientIdReq() {
+  SharedDtor();
+}
+
+void RpbSetClientIdReq::SharedDtor() {
+  if (client_id_ != &_default_client_id_) {
+    delete client_id_;
+  }
+  if (this != default_instance_) {
+  }
+}
+
+void RpbSetClientIdReq::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* RpbSetClientIdReq::descriptor() {
+  protobuf_AssignDescriptorsOnce();
+  return RpbSetClientIdReq_descriptor_;
+}
+
+const RpbSetClientIdReq& RpbSetClientIdReq::default_instance() {
+  if (default_instance_ == NULL) protobuf_AddDesc_riakclient_2eproto();  return *default_instance_;
+}
+
+RpbSetClientIdReq* RpbSetClientIdReq::default_instance_ = NULL;
+
+RpbSetClientIdReq* RpbSetClientIdReq::New() const {
+  return new RpbSetClientIdReq;
+}
+
+void RpbSetClientIdReq::Clear() {
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (_has_bit(0)) {
+      if (client_id_ != &_default_client_id_) {
+        client_id_->clear();
+      }
+    }
+  }
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->Clear();
+}
+
+bool RpbSetClientIdReq::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
+  ::google::protobuf::uint32 tag;
+  while ((tag = input->ReadTag()) != 0) {
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // required bytes client_id = 1;
+      case 1: {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
+                input, this->mutable_client_id()));
+        } else {
+          goto handle_uninterpreted;
+        }
+        if (input->ExpectAtEnd()) return true;
+        break;
+      }
+      
+      default: {
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+          return true;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+  return true;
+#undef DO_
+}
+
+void RpbSetClientIdReq::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // required bytes client_id = 1;
+  if (_has_bit(0)) {
+    ::google::protobuf::internal::WireFormatLite::WriteBytes(
+      1, this->client_id(), output);
+  }
+  
+  if (!unknown_fields().empty()) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        unknown_fields(), output);
+  }
+}
+
+::google::protobuf::uint8* RpbSetClientIdReq::SerializeWithCachedSizesToArray(
+    ::google::protobuf::uint8* target) const {
+  // required bytes client_id = 1;
+  if (_has_bit(0)) {
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
+        1, this->client_id(), target);
+  }
+  
+  if (!unknown_fields().empty()) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        unknown_fields(), target);
+  }
+  return target;
+}
+
+int RpbSetClientIdReq::ByteSize() const {
+  int total_size = 0;
+  
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    // required bytes client_id = 1;
+    if (has_client_id()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::BytesSize(
+          this->client_id());
+    }
+    
+  }
+  if (!unknown_fields().empty()) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        unknown_fields());
+  }
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = total_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void RpbSetClientIdReq::MergeFrom(const ::google::protobuf::Message& from) {
+  GOOGLE_CHECK_NE(&from, this);
+  const RpbSetClientIdReq* source =
+    ::google::protobuf::internal::dynamic_cast_if_available<const RpbSetClientIdReq*>(
+      &from);
+  if (source == NULL) {
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+    MergeFrom(*source);
+  }
+}
+
+void RpbSetClientIdReq::MergeFrom(const RpbSetClientIdReq& from) {
+  GOOGLE_CHECK_NE(&from, this);
+  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (from._has_bit(0)) {
+      set_client_id(from.client_id());
+    }
+  }
+  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
+}
+
+void RpbSetClientIdReq::CopyFrom(const ::google::protobuf::Message& from) {
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void RpbSetClientIdReq::CopyFrom(const RpbSetClientIdReq& from) {
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool RpbSetClientIdReq::IsInitialized() const {
+  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
+  
+  return true;
+}
+
+void RpbSetClientIdReq::Swap(RpbSetClientIdReq* other) {
+  if (other != this) {
+    std::swap(client_id_, other->client_id_);
+    std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.Swap(&other->_unknown_fields_);
+    std::swap(_cached_size_, other->_cached_size_);
+  }
+}
+
+::google::protobuf::Metadata RpbSetClientIdReq::GetMetadata() const {
+  protobuf_AssignDescriptorsOnce();
+  ::google::protobuf::Metadata metadata;
+  metadata.descriptor = RpbSetClientIdReq_descriptor_;
+  metadata.reflection = RpbSetClientIdReq_reflection_;
+  return metadata;
+}
+
+
+// ===================================================================
+
+const ::std::string RpbGetServerInfoResp::_default_node_;
+const ::std::string RpbGetServerInfoResp::_default_server_version_;
+#ifndef _MSC_VER
+const int RpbGetServerInfoResp::kNodeFieldNumber;
+const int RpbGetServerInfoResp::kServerVersionFieldNumber;
+#endif  // !_MSC_VER
+
+RpbGetServerInfoResp::RpbGetServerInfoResp()
+  : ::google::protobuf::Message() {
+  SharedCtor();
+}
+
+void RpbGetServerInfoResp::InitAsDefaultInstance() {
+}
+
+RpbGetServerInfoResp::RpbGetServerInfoResp(const RpbGetServerInfoResp& from)
+  : ::google::protobuf::Message() {
+  SharedCtor();
+  MergeFrom(from);
+}
+
+void RpbGetServerInfoResp::SharedCtor() {
+  _cached_size_ = 0;
+  node_ = const_cast< ::std::string*>(&_default_node_);
+  server_version_ = const_cast< ::std::string*>(&_default_server_version_);
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+}
+
+RpbGetServerInfoResp::~RpbGetServerInfoResp() {
+  SharedDtor();
+}
+
+void RpbGetServerInfoResp::SharedDtor() {
+  if (node_ != &_default_node_) {
+    delete node_;
+  }
+  if (server_version_ != &_default_server_version_) {
+    delete server_version_;
+  }
+  if (this != default_instance_) {
+  }
+}
+
+void RpbGetServerInfoResp::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* RpbGetServerInfoResp::descriptor() {
+  protobuf_AssignDescriptorsOnce();
+  return RpbGetServerInfoResp_descriptor_;
+}
+
+const RpbGetServerInfoResp& RpbGetServerInfoResp::default_instance() {
+  if (default_instance_ == NULL) protobuf_AddDesc_riakclient_2eproto();  return *default_instance_;
+}
+
+RpbGetServerInfoResp* RpbGetServerInfoResp::default_instance_ = NULL;
+
+RpbGetServerInfoResp* RpbGetServerInfoResp::New() const {
+  return new RpbGetServerInfoResp;
+}
+
+void RpbGetServerInfoResp::Clear() {
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (_has_bit(0)) {
+      if (node_ != &_default_node_) {
+        node_->clear();
+      }
+    }
+    if (_has_bit(1)) {
+      if (server_version_ != &_default_server_version_) {
+        server_version_->clear();
+      }
+    }
+  }
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->Clear();
+}
+
+bool RpbGetServerInfoResp::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
+  ::google::protobuf::uint32 tag;
+  while ((tag = input->ReadTag()) != 0) {
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // optional bytes node = 1;
+      case 1: {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
+                input, this->mutable_node()));
+        } else {
+          goto handle_uninterpreted;
+        }
+        if (input->ExpectTag(18)) goto parse_server_version;
+        break;
+      }
+      
+      // optional bytes server_version = 2;
+      case 2: {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+         parse_server_version:
+          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
+                input, this->mutable_server_version()));
+        } else {
+          goto handle_uninterpreted;
+        }
+        if (input->ExpectAtEnd()) return true;
+        break;
+      }
+      
+      default: {
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+          return true;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+  return true;
+#undef DO_
+}
+
+void RpbGetServerInfoResp::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // optional bytes node = 1;
+  if (_has_bit(0)) {
+    ::google::protobuf::internal::WireFormatLite::WriteBytes(
+      1, this->node(), output);
+  }
+  
+  // optional bytes server_version = 2;
+  if (_has_bit(1)) {
+    ::google::protobuf::internal::WireFormatLite::WriteBytes(
+      2, this->server_version(), output);
+  }
+  
+  if (!unknown_fields().empty()) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        unknown_fields(), output);
+  }
+}
+
+::google::protobuf::uint8* RpbGetServerInfoResp::SerializeWithCachedSizesToArray(
+    ::google::protobuf::uint8* target) const {
+  // optional bytes node = 1;
+  if (_has_bit(0)) {
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
+        1, this->node(), target);
+  }
+  
+  // optional bytes server_version = 2;
+  if (_has_bit(1)) {
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
+        2, this->server_version(), target);
+  }
+  
+  if (!unknown_fields().empty()) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        unknown_fields(), target);
+  }
+  return target;
+}
+
+int RpbGetServerInfoResp::ByteSize() const {
+  int total_size = 0;
+  
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    // optional bytes node = 1;
+    if (has_node()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::BytesSize(
+          this->node());
+    }
+    
+    // optional bytes server_version = 2;
+    if (has_server_version()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::BytesSize(
+          this->server_version());
+    }
+    
+  }
+  if (!unknown_fields().empty()) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        unknown_fields());
+  }
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = total_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void RpbGetServerInfoResp::MergeFrom(const ::google::protobuf::Message& from) {
+  GOOGLE_CHECK_NE(&from, this);
+  const RpbGetServerInfoResp* source =
+    ::google::protobuf::internal::dynamic_cast_if_available<const RpbGetServerInfoResp*>(
+      &from);
+  if (source == NULL) {
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+    MergeFrom(*source);
+  }
+}
+
+void RpbGetServerInfoResp::MergeFrom(const RpbGetServerInfoResp& from) {
+  GOOGLE_CHECK_NE(&from, this);
+  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (from._has_bit(0)) {
+      set_node(from.node());
+    }
+    if (from._has_bit(1)) {
+      set_server_version(from.server_version());
+    }
+  }
+  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
+}
+
+void RpbGetServerInfoResp::CopyFrom(const ::google::protobuf::Message& from) {
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void RpbGetServerInfoResp::CopyFrom(const RpbGetServerInfoResp& from) {
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool RpbGetServerInfoResp::IsInitialized() const {
+  
+  return true;
+}
+
+void RpbGetServerInfoResp::Swap(RpbGetServerInfoResp* other) {
+  if (other != this) {
+    std::swap(node_, other->node_);
+    std::swap(server_version_, other->server_version_);
+    std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.Swap(&other->_unknown_fields_);
+    std::swap(_cached_size_, other->_cached_size_);
+  }
+}
+
+::google::protobuf::Metadata RpbGetServerInfoResp::GetMetadata() const {
+  protobuf_AssignDescriptorsOnce();
+  ::google::protobuf::Metadata metadata;
+  metadata.descriptor = RpbGetServerInfoResp_descriptor_;
+  metadata.reflection = RpbGetServerInfoResp_reflection_;
+  return metadata;
+}
+
+
+// ===================================================================
+
+const ::std::string RpbGetReq::_default_bucket_;
+const ::std::string RpbGetReq::_default_key_;
+#ifndef _MSC_VER
+const int RpbGetReq::kBucketFieldNumber;
+const int RpbGetReq::kKeyFieldNumber;
+const int RpbGetReq::kRFieldNumber;
+#endif  // !_MSC_VER
+
+RpbGetReq::RpbGetReq()
+  : ::google::protobuf::Message() {
+  SharedCtor();
+}
+
+void RpbGetReq::InitAsDefaultInstance() {
+}
+
+RpbGetReq::RpbGetReq(const RpbGetReq& from)
+  : ::google::protobuf::Message() {
+  SharedCtor();
+  MergeFrom(from);
+}
+
+void RpbGetReq::SharedCtor() {
+  _cached_size_ = 0;
+  bucket_ = const_cast< ::std::string*>(&_default_bucket_);
+  key_ = const_cast< ::std::string*>(&_default_key_);
+  r_ = 0u;
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+}
+
+RpbGetReq::~RpbGetReq() {
+  SharedDtor();
+}
+
+void RpbGetReq::SharedDtor() {
+  if (bucket_ != &_default_bucket_) {
+    delete bucket_;
+  }
+  if (key_ != &_default_key_) {
+    delete key_;
+  }
+  if (this != default_instance_) {
+  }
+}
+
+void RpbGetReq::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* RpbGetReq::descriptor() {
+  protobuf_AssignDescriptorsOnce();
+  return RpbGetReq_descriptor_;
+}
+
+const RpbGetReq& RpbGetReq::default_instance() {
+  if (default_instance_ == NULL) protobuf_AddDesc_riakclient_2eproto();  return *default_instance_;
+}
+
+RpbGetReq* RpbGetReq::default_instance_ = NULL;
+
+RpbGetReq* RpbGetReq::New() const {
+  return new RpbGetReq;
+}
+
+void RpbGetReq::Clear() {
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (_has_bit(0)) {
+      if (bucket_ != &_default_bucket_) {
+        bucket_->clear();
+      }
+    }
+    if (_has_bit(1)) {
+      if (key_ != &_default_key_) {
+        key_->clear();
+      }
+    }
+    r_ = 0u;
+  }
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->Clear();
+}
+
+bool RpbGetReq::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
+  ::google::protobuf::uint32 tag;
+  while ((tag = input->ReadTag()) != 0) {
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // required bytes bucket = 1;
+      case 1: {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
+                input, this->mutable_bucket()));
+        } else {
+          goto handle_uninterpreted;
+        }
+        if (input->ExpectTag(18)) goto parse_key;
+        break;
+      }
+      
+      // required bytes key = 2;
+      case 2: {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+         parse_key:
+          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
+                input, this->mutable_key()));
+        } else {
+          goto handle_uninterpreted;
+        }
+        if (input->ExpectTag(24)) goto parse_r;
+        break;
+      }
+      
+      // optional uint32 r = 3;
+      case 3: {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+         parse_r:
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
+                 input, &r_)));
+          _set_bit(2);
+        } else {
+          goto handle_uninterpreted;
+        }
+        if (input->ExpectAtEnd()) return true;
+        break;
+      }
+      
+      default: {
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+          return true;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+  return true;
+#undef DO_
+}
+
+void RpbGetReq::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // required bytes bucket = 1;
+  if (_has_bit(0)) {
+    ::google::protobuf::internal::WireFormatLite::WriteBytes(
+      1, this->bucket(), output);
+  }
+  
+  // required bytes key = 2;
+  if (_has_bit(1)) {
+    ::google::protobuf::internal::WireFormatLite::WriteBytes(
+      2, this->key(), output);
+  }
+  
+  // optional uint32 r = 3;
+  if (_has_bit(2)) {
+    ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->r(), output);
+  }
+  
+  if (!unknown_fields().empty()) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        unknown_fields(), output);
+  }
+}
+
+::google::protobuf::uint8* RpbGetReq::SerializeWithCachedSizesToArray(
+    ::google::protobuf::uint8* target) const {
+  // required bytes bucket = 1;
+  if (_has_bit(0)) {
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
+        1, this->bucket(), target);
+  }
+  
+  // required bytes key = 2;
+  if (_has_bit(1)) {
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
+        2, this->key(), target);
+  }
+  
+  // optional uint32 r = 3;
+  if (_has_bit(2)) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(3, this->r(), target);
+  }
+  
+  if (!unknown_fields().empty()) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        unknown_fields(), target);
+  }
+  return target;
+}
+
+int RpbGetReq::ByteSize() const {
+  int total_size = 0;
+  
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    // required bytes bucket = 1;
+    if (has_bucket()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::BytesSize(
+          this->bucket());
+    }
+    
+    // required bytes key = 2;
+    if (has_key()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::BytesSize(
+          this->key());
+    }
+    
+    // optional uint32 r = 3;
+    if (has_r()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::UInt32Size(
+          this->r());
+    }
+    
+  }
+  if (!unknown_fields().empty()) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        unknown_fields());
+  }
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = total_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void RpbGetReq::MergeFrom(const ::google::protobuf::Message& from) {
+  GOOGLE_CHECK_NE(&from, this);
+  const RpbGetReq* source =
+    ::google::protobuf::internal::dynamic_cast_if_available<const RpbGetReq*>(
+      &from);
+  if (source == NULL) {
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+    MergeFrom(*source);
+  }
+}
+
+void RpbGetReq::MergeFrom(const RpbGetReq& from) {
+  GOOGLE_CHECK_NE(&from, this);
+  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (from._has_bit(0)) {
+      set_bucket(from.bucket());
+    }
+    if (from._has_bit(1)) {
+      set_key(from.key());
+    }
+    if (from._has_bit(2)) {
+      set_r(from.r());
+    }
+  }
+  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
+}
+
+void RpbGetReq::CopyFrom(const ::google::protobuf::Message& from) {
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void RpbGetReq::CopyFrom(const RpbGetReq& from) {
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool RpbGetReq::IsInitialized() const {
+  if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
+  
+  return true;
+}
+
+void RpbGetReq::Swap(RpbGetReq* other) {
+  if (other != this) {
+    std::swap(bucket_, other->bucket_);
+    std::swap(key_, other->key_);
+    std::swap(r_, other->r_);
+    std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.Swap(&other->_unknown_fields_);
+    std::swap(_cached_size_, other->_cached_size_);
+  }
+}
+
+::google::protobuf::Metadata RpbGetReq::GetMetadata() const {
+  protobuf_AssignDescriptorsOnce();
+  ::google::protobuf::Metadata metadata;
+  metadata.descriptor = RpbGetReq_descriptor_;
+  metadata.reflection = RpbGetReq_reflection_;
+  return metadata;
+}
+
+
+// ===================================================================
+
+const ::std::string RpbGetResp::_default_vclock_;
+#ifndef _MSC_VER
+const int RpbGetResp::kContentFieldNumber;
+const int RpbGetResp::kVclockFieldNumber;
+#endif  // !_MSC_VER
+
+RpbGetResp::RpbGetResp()
+  : ::google::protobuf::Message() {
+  SharedCtor();
+}
+
+void RpbGetResp::InitAsDefaultInstance() {
+}
+
+RpbGetResp::RpbGetResp(const RpbGetResp& from)
+  : ::google::protobuf::Message() {
+  SharedCtor();
+  MergeFrom(from);
+}
+
+void RpbGetResp::SharedCtor() {
+  _cached_size_ = 0;
+  vclock_ = const_cast< ::std::string*>(&_default_vclock_);
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+}
+
+RpbGetResp::~RpbGetResp() {
+  SharedDtor();
+}
+
+void RpbGetResp::SharedDtor() {
+  if (vclock_ != &_default_vclock_) {
+    delete vclock_;
+  }
+  if (this != default_instance_) {
+  }
+}
+
+void RpbGetResp::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* RpbGetResp::descriptor() {
+  protobuf_AssignDescriptorsOnce();
+  return RpbGetResp_descriptor_;
+}
+
+const RpbGetResp& RpbGetResp::default_instance() {
+  if (default_instance_ == NULL) protobuf_AddDesc_riakclient_2eproto();  return *default_instance_;
+}
+
+RpbGetResp* RpbGetResp::default_instance_ = NULL;
+
+RpbGetResp* RpbGetResp::New() const {
+  return new RpbGetResp;
+}
+
+void RpbGetResp::Clear() {
+  if (_has_bits_[1 / 32] & (0xffu << (1 % 32))) {
+    if (_has_bit(1)) {
+      if (vclock_ != &_default_vclock_) {
+        vclock_->clear();
+      }
+    }
+  }
+  content_.Clear();
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->Clear();
+}
+
+bool RpbGetResp::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
+  ::google::protobuf::uint32 tag;
+  while ((tag = input->ReadTag()) != 0) {
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // repeated .RpbContent content = 1;
+      case 1: {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+         parse_content:
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+                input, add_content()));
+        } else {
+          goto handle_uninterpreted;
+        }
+        if (input->ExpectTag(10)) goto parse_content;
+        if (input->ExpectTag(18)) goto parse_vclock;
+        break;
+      }
+      
+      // optional bytes vclock = 2;
+      case 2: {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+         parse_vclock:
+          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
+                input, this->mutable_vclock()));
+        } else {
+          goto handle_uninterpreted;
+        }
+        if (input->ExpectAtEnd()) return true;
+        break;