text: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: tcc_wren_messages.proto
  
  #define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
  #include "tcc_wren_messages.pb.h"
  
  #include <algorithm>
  
  #include <google/protobuf/stubs/common.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/generated_message_reflection.h>
  #include <google/protobuf/reflection_ops.h>
  #include <google/protobuf/wire_format.h>
  // @@protoc_insertion_point(includes)
  
  namespace {
  
  const ::google::protobuf::Descriptor* PbRpcTccWrenPublicStartArg_descriptor_ = NULL;
  const ::google::protobuf::internal::GeneratedMessageReflection*
    PbRpcTccWrenPublicStartArg_reflection_ = NULL;
  const ::google::protobuf::Descriptor* PbRpcTccWrenPublicStartResult_descriptor_ = NULL;
  const ::google::protobuf::internal::GeneratedMessageReflection*
    PbRpcTccWrenPublicStartResult_reflection_ = NULL;
  const ::google::protobuf::Descriptor* PbRpcTccWrenKVPublicReadArg_descriptor_ = NULL;
  const ::google::protobuf::internal::GeneratedMessageReflection*
    PbRpcTccWrenKVPublicReadArg_reflection_ = NULL;
  const ::google::protobuf::Descriptor* PbRpcTccWrenKVPublicReadResult_descriptor_ = NULL;
  const ::google::protobuf::internal::GeneratedMessageReflection*
    PbRpcTccWrenKVPublicReadResult_reflection_ = NULL;
  const ::google::protobuf::Descriptor* PbRpcTccWrenKVPublicCommitArg_descriptor_ = NULL;
  const ::google::protobuf::internal::GeneratedMessageReflection*
    PbRpcTccWrenKVPublicCommitArg_reflection_ = NULL;
  const ::google::protobuf::Descriptor* PbRpcTccWrenKVPublicCommitResult_descriptor_ = NULL;
  const ::google::protobuf::internal::GeneratedMessageReflection*
    PbRpcTccWrenKVPublicCommitResult_reflection_ = NULL;
  const ::google::protobuf::Descriptor* PbRpcTccWrenKVInternalTxSliceGetArg_descriptor_ = NULL;
  const ::google::protobuf::internal::GeneratedMessageReflection*
    PbRpcTccWrenKVInternalTxSliceGetArg_reflection_ = NULL;
  const ::google::protobuf::Descriptor* PbRpcTccWrenKVInternalTxSliceGetResult_descriptor_ = NULL;
  const ::google::protobuf::internal::GeneratedMessageReflection*
    PbRpcTccWrenKVInternalTxSliceGetResult_reflection_ = NULL;
  const ::google::protobuf::Descriptor* PbRpcTccWrenKVInternalTxSliceReadKeysArg_descriptor_ = NULL;
  const ::google::protobuf::internal::GeneratedMessageReflection*
    PbRpcTccWrenKVInternalTxSliceReadKeysArg_reflection_ = NULL;
  const ::google::protobuf::Descriptor* PbRpcTccWrenKVInternalTxSliceReadKeysResult_descriptor_ = NULL;
  const ::google::protobuf::internal::GeneratedMessageReflection*
    PbRpcTccWrenKVInternalTxSliceReadKeysResult_reflection_ = NULL;
  const ::google::protobuf::Descriptor* PbRpcRST_descriptor_ = NULL;
  const ::google::protobuf::internal::GeneratedMessageReflection*
    PbRpcRST_reflection_ = NULL;
  const ::google::protobuf::Descriptor* PbRpcTccWrenPartitionClientPrepareRequestArg_descriptor_ = NULL;
  const ::google::protobuf::internal::GeneratedMessageReflection*
    PbRpcTccWrenPartitionClientPrepareRequestArg_reflection_ = NULL;
  
  }  // namespace
  
  
  void protobuf_AssignDesc_tcc_5fwren_5fmessages_2eproto() {
    protobuf_AddDesc_tcc_5fwren_5fmessages_2eproto();
    const ::google::protobuf::FileDescriptor* file =
      ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
        "tcc_wren_messages.proto");
    GOOGLE_CHECK(file != NULL);
    PbRpcTccWrenPublicStartArg_descriptor_ = file->message_type(0);
    static const int PbRpcTccWrenPublicStartArg_offsets_[2] = {
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenPublicStartArg, ldt_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenPublicStartArg, rst_),
    };
    PbRpcTccWrenPublicStartArg_reflection_ =
      new ::google::protobuf::internal::GeneratedMessageReflection(
        PbRpcTccWrenPublicStartArg_descriptor_,
        PbRpcTccWrenPublicStartArg::default_instance_,
        PbRpcTccWrenPublicStartArg_offsets_,
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenPublicStartArg, _has_bits_[0]),
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenPublicStartArg, _unknown_fields_),
        -1,
        ::google::protobuf::DescriptorPool::generated_pool(),
        ::google::protobuf::MessageFactory::generated_factory(),
        sizeof(PbRpcTccWrenPublicStartArg));
    PbRpcTccWrenPublicStartResult_descriptor_ = file->message_type(1);
    static const int PbRpcTccWrenPublicStartResult_offsets_[3] = {
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenPublicStartResult, succeeded_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenPublicStartResult, id_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenPublicStartResult, rst_),
    };
    PbRpcTccWrenPublicStartResult_reflection_ =
      new ::google::protobuf::internal::GeneratedMessageReflection(
        PbRpcTccWrenPublicStartResult_descriptor_,
        PbRpcTccWrenPublicStartResult::default_instance_,
        PbRpcTccWrenPublicStartResult_offsets_,
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenPublicStartResult, _has_bits_[0]),
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenPublicStartResult, _unknown_fields_),
        -1,
        ::google::protobuf::DescriptorPool::generated_pool(),
        ::google::protobuf::MessageFactory::generated_factory(),
        sizeof(PbRpcTccWrenPublicStartResult));
    PbRpcTccWrenKVPublicReadArg_descriptor_ = file->message_type(2);
    static const int PbRpcTccWrenKVPublicReadArg_offsets_[2] = {
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVPublicReadArg, id_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVPublicReadArg, key_),
    };
    PbRpcTccWrenKVPublicReadArg_reflection_ =
      new ::google::protobuf::internal::GeneratedMessageReflection(
        PbRpcTccWrenKVPublicReadArg_descriptor_,
        PbRpcTccWrenKVPublicReadArg::default_instance_,
        PbRpcTccWrenKVPublicReadArg_offsets_,
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVPublicReadArg, _has_bits_[0]),
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVPublicReadArg, _unknown_fields_),
        -1,
        ::google::protobuf::DescriptorPool::generated_pool(),
        ::google::protobuf::MessageFactory::generated_factory(),
        sizeof(PbRpcTccWrenKVPublicReadArg));
    PbRpcTccWrenKVPublicReadResult_descriptor_ = file->message_type(3);
    static const int PbRpcTccWrenKVPublicReadResult_offsets_[2] = {
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVPublicReadResult, succeeded_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVPublicReadResult, value_),
    };
    PbRpcTccWrenKVPublicReadResult_reflection_ =
      new ::google::protobuf::internal::GeneratedMessageReflection(
        PbRpcTccWrenKVPublicReadResult_descriptor_,
        PbRpcTccWrenKVPublicReadResult::default_instance_,
        PbRpcTccWrenKVPublicReadResult_offsets_,
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVPublicReadResult, _has_bits_[0]),
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVPublicReadResult, _unknown_fields_),
        -1,
        ::google::protobuf::DescriptorPool::generated_pool(),
        ::google::protobuf::MessageFactory::generated_factory(),
        sizeof(PbRpcTccWrenKVPublicReadResult));
    PbRpcTccWrenKVPublicCommitArg_descriptor_ = file->message_type(4);
    static const int PbRpcTccWrenKVPublicCommitArg_offsets_[3] = {
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVPublicCommitArg, id_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVPublicCommitArg, key_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVPublicCommitArg, value_),
    };
    PbRpcTccWrenKVPublicCommitArg_reflection_ =
      new ::google::protobuf::internal::GeneratedMessageReflection(
        PbRpcTccWrenKVPublicCommitArg_descriptor_,
        PbRpcTccWrenKVPublicCommitArg::default_instance_,
        PbRpcTccWrenKVPublicCommitArg_offsets_,
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVPublicCommitArg, _has_bits_[0]),
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVPublicCommitArg, _unknown_fields_),
        -1,
        ::google::protobuf::DescriptorPool::generated_pool(),
        ::google::protobuf::MessageFactory::generated_factory(),
        sizeof(PbRpcTccWrenKVPublicCommitArg));
    PbRpcTccWrenKVPublicCommitResult_descriptor_ = file->message_type(5);
    static const int PbRpcTccWrenKVPublicCommitResult_offsets_[2] = {
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVPublicCommitResult, succeeded_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVPublicCommitResult, ct_),
    };
    PbRpcTccWrenKVPublicCommitResult_reflection_ =
      new ::google::protobuf::internal::GeneratedMessageReflection(
        PbRpcTccWrenKVPublicCommitResult_descriptor_,
        PbRpcTccWrenKVPublicCommitResult::default_instance_,
        PbRpcTccWrenKVPublicCommitResult_offsets_,
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVPublicCommitResult, _has_bits_[0]),
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVPublicCommitResult, _unknown_fields_),
        -1,
        ::google::protobuf::DescriptorPool::generated_pool(),
        ::google::protobuf::MessageFactory::generated_factory(),
        sizeof(PbRpcTccWrenKVPublicCommitResult));
    PbRpcTccWrenKVInternalTxSliceGetArg_descriptor_ = file->message_type(6);
    static const int PbRpcTccWrenKVInternalTxSliceGetArg_offsets_[5] = {
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceGetArg, key_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceGetArg, ldt_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceGetArg, rst_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceGetArg, id_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceGetArg, src_),
    };
    PbRpcTccWrenKVInternalTxSliceGetArg_reflection_ =
      new ::google::protobuf::internal::GeneratedMessageReflection(
        PbRpcTccWrenKVInternalTxSliceGetArg_descriptor_,
        PbRpcTccWrenKVInternalTxSliceGetArg::default_instance_,
        PbRpcTccWrenKVInternalTxSliceGetArg_offsets_,
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceGetArg, _has_bits_[0]),
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceGetArg, _unknown_fields_),
        -1,
        ::google::protobuf::DescriptorPool::generated_pool(),
        ::google::protobuf::MessageFactory::generated_factory(),
        sizeof(PbRpcTccWrenKVInternalTxSliceGetArg));
    PbRpcTccWrenKVInternalTxSliceGetResult_descriptor_ = file->message_type(7);
    static const int PbRpcTccWrenKVInternalTxSliceGetResult_offsets_[6] = {
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceGetResult, succeeded_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceGetResult, getvalue_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceGetResult, srcreplica_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceGetResult, waitedxact_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceGetResult, id_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceGetResult, src_),
    };
    PbRpcTccWrenKVInternalTxSliceGetResult_reflection_ =
      new ::google::protobuf::internal::GeneratedMessageReflection(
        PbRpcTccWrenKVInternalTxSliceGetResult_descriptor_,
        PbRpcTccWrenKVInternalTxSliceGetResult::default_instance_,
        PbRpcTccWrenKVInternalTxSliceGetResult_offsets_,
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceGetResult, _has_bits_[0]),
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceGetResult, _unknown_fields_),
        -1,
        ::google::protobuf::DescriptorPool::generated_pool(),
        ::google::protobuf::MessageFactory::generated_factory(),
        sizeof(PbRpcTccWrenKVInternalTxSliceGetResult));
    PbRpcTccWrenKVInternalTxSliceReadKeysArg_descriptor_ = file->message_type(8);
    static const int PbRpcTccWrenKVInternalTxSliceReadKeysArg_offsets_[5] = {
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceReadKeysArg, key_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceReadKeysArg, ldt_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceReadKeysArg, rst_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceReadKeysArg, id_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceReadKeysArg, src_),
    };
    PbRpcTccWrenKVInternalTxSliceReadKeysArg_reflection_ =
      new ::google::protobuf::internal::GeneratedMessageReflection(
        PbRpcTccWrenKVInternalTxSliceReadKeysArg_descriptor_,
        PbRpcTccWrenKVInternalTxSliceReadKeysArg::default_instance_,
        PbRpcTccWrenKVInternalTxSliceReadKeysArg_offsets_,
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceReadKeysArg, _has_bits_[0]),
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceReadKeysArg, _unknown_fields_),
        -1,
        ::google::protobuf::DescriptorPool::generated_pool(),
        ::google::protobuf::MessageFactory::generated_factory(),
        sizeof(PbRpcTccWrenKVInternalTxSliceReadKeysArg));
    PbRpcTccWrenKVInternalTxSliceReadKeysResult_descriptor_ = file->message_type(9);
    static const int PbRpcTccWrenKVInternalTxSliceReadKeysResult_offsets_[6] = {
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceReadKeysResult, succeeded_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceReadKeysResult, value_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceReadKeysResult, srcreplica_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceReadKeysResult, waitedxact_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceReadKeysResult, id_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceReadKeysResult, src_),
    };
    PbRpcTccWrenKVInternalTxSliceReadKeysResult_reflection_ =
      new ::google::protobuf::internal::GeneratedMessageReflection(
        PbRpcTccWrenKVInternalTxSliceReadKeysResult_descriptor_,
        PbRpcTccWrenKVInternalTxSliceReadKeysResult::default_instance_,
        PbRpcTccWrenKVInternalTxSliceReadKeysResult_offsets_,
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceReadKeysResult, _has_bits_[0]),
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenKVInternalTxSliceReadKeysResult, _unknown_fields_),
        -1,
        ::google::protobuf::DescriptorPool::generated_pool(),
        ::google::protobuf::MessageFactory::generated_factory(),
        sizeof(PbRpcTccWrenKVInternalTxSliceReadKeysResult));
    PbRpcRST_descriptor_ = file->message_type(10);
    static const int PbRpcRST_offsets_[2] = {
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcRST, time_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcRST, srcpartition_),
    };
    PbRpcRST_reflection_ =
      new ::google::protobuf::internal::GeneratedMessageReflection(
        PbRpcRST_descriptor_,
        PbRpcRST::default_instance_,
        PbRpcRST_offsets_,
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcRST, _has_bits_[0]),
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcRST, _unknown_fields_),
        -1,
        ::google::protobuf::DescriptorPool::generated_pool(),
        ::google::protobuf::MessageFactory::generated_factory(),
        sizeof(PbRpcRST));
    PbRpcTccWrenPartitionClientPrepareRequestArg_descriptor_ = file->message_type(11);
    static const int PbRpcTccWrenPartitionClientPrepareRequestArg_offsets_[6] = {
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenPartitionClientPrepareRequestArg, id_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenPartitionClientPrepareRequestArg, ldt_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenPartitionClientPrepareRequestArg, rst_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenPartitionClientPrepareRequestArg, key_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenPartitionClientPrepareRequestArg, value_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenPartitionClientPrepareRequestArg, src_),
    };
    PbRpcTccWrenPartitionClientPrepareRequestArg_reflection_ =
      new ::google::protobuf::internal::GeneratedMessageReflection(
        PbRpcTccWrenPartitionClientPrepareRequestArg_descriptor_,
        PbRpcTccWrenPartitionClientPrepareRequestArg::default_instance_,
        PbRpcTccWrenPartitionClientPrepareRequestArg_offsets_,
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenPartitionClientPrepareRequestArg, _has_bits_[0]),
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PbRpcTccWrenPartitionClientPrepareRequestArg, _unknown_fields_),
        -1,
        ::google::protobuf::DescriptorPool::generated_pool(),
        ::google::protobuf::MessageFactory::generated_factory(),
        sizeof(PbRpcTccWrenPartitionClientPrepareRequestArg));
  }
  
  namespace {
  
  GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
  inline void protobuf_AssignDescriptorsOnce() {
    ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
                   &protobuf_AssignDesc_tcc_5fwren_5fmessages_2eproto);
  }
  
  void protobuf_RegisterTypes(const ::std::string&) {
    protobuf_AssignDescriptorsOnce();
    ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      PbRpcTccWrenPublicStartArg_descriptor_, &PbRpcTccWrenPublicStartArg::default_instance());
    ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      PbRpcTccWrenPublicStartResult_descriptor_, &PbRpcTccWrenPublicStartResult::default_instance());
    ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      PbRpcTccWrenKVPublicReadArg_descriptor_, &PbRpcTccWrenKVPublicReadArg::default_instance());
    ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      PbRpcTccWrenKVPublicReadResult_descriptor_, &PbRpcTccWrenKVPublicReadResult::default_instance());
    ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      PbRpcTccWrenKVPublicCommitArg_descriptor_, &PbRpcTccWrenKVPublicCommitArg::default_instance());
    ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      PbRpcTccWrenKVPublicCommitResult_descriptor_, &PbRpcTccWrenKVPublicCommitResult::default_instance());
    ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      PbRpcTccWrenKVInternalTxSliceGetArg_descriptor_, &PbRpcTccWrenKVInternalTxSliceGetArg::default_instance());
    ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      PbRpcTccWrenKVInternalTxSliceGetResult_descriptor_, &PbRpcTccWrenKVInternalTxSliceGetResult::default_instance());
    ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      PbRpcTccWrenKVInternalTxSliceReadKeysArg_descriptor_, &PbRpcTccWrenKVInternalTxSliceReadKeysArg::default_instance());
    ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      PbRpcTccWrenKVInternalTxSliceReadKeysResult_descriptor_, &PbRpcTccWrenKVInternalTxSliceReadKeysResult::default_instance());
    ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      PbRpcRST_descriptor_, &PbRpcRST::default_instance());
    ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      PbRpcTccWrenPartitionClientPrepareRequestArg_descriptor_, &PbRpcTccWrenPartitionClientPrepareRequestArg::default_instance());
  }
  
  }  // namespace
  
  void protobuf_ShutdownFile_tcc_5fwren_5fmessages_2eproto() {
    delete PbRpcTccWrenPublicStartArg::default_instance_;
    delete PbRpcTccWrenPublicStartArg_reflection_;
    delete PbRpcTccWrenPublicStartResult::default_instance_;
    delete PbRpcTccWrenPublicStartResult_reflection_;
    delete PbRpcTccWrenKVPublicReadArg::default_instance_;
    delete PbRpcTccWrenKVPublicReadArg_reflection_;
    delete PbRpcTccWrenKVPublicReadResult::default_instance_;
    delete PbRpcTccWrenKVPublicReadResult_reflection_;
    delete PbRpcTccWrenKVPublicCommitArg::default_instance_;
    delete PbRpcTccWrenKVPublicCommitArg_reflection_;
    delete PbRpcTccWrenKVPublicCommitResult::default_instance_;
    delete PbRpcTccWrenKVPublicCommitResult_reflection_;
    delete PbRpcTccWrenKVInternalTxSliceGetArg::default_instance_;
    delete PbRpcTccWrenKVInternalTxSliceGetArg_reflection_;
    delete PbRpcTccWrenKVInternalTxSliceGetResult::default_instance_;
    delete PbRpcTccWrenKVInternalTxSliceGetResult_reflection_;
    delete PbRpcTccWrenKVInternalTxSliceReadKeysArg::default_instance_;
    delete PbRpcTccWrenKVInternalTxSliceReadKeysArg_reflection_;
    delete PbRpcTccWrenKVInternalTxSliceReadKeysResult::default_instance_;
    delete PbRpcTccWrenKVInternalTxSliceReadKeysResult_reflection_;
    delete PbRpcRST::default_instance_;
    delete PbRpcRST_reflection_;
    delete PbRpcTccWrenPartitionClientPrepareRequestArg::default_instance_;
    delete PbRpcTccWrenPartitionClientPrepareRequestArg_reflection_;
  }
  
  void protobuf_AddDesc_tcc_5fwren_5fmessages_2eproto() {
    static bool already_here = false;
    if (already_here) return;
    already_here = true;
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
    ::protobuf_AddDesc_rpc_5fmessages_2eproto();
    ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
      "\n\027tcc_wren_messages.proto\032\022rpc_messages."
      "proto\"`\n\032PbRpcTccWrenPublicStartArg\022 \n\003L"
      "DT\030\001 \002(\0132\023.PbPhysicalTimeSpec\022 \n\003RST\030\002 \002"
      "(\0132\023.PbPhysicalTimeSpec\"`\n\035PbRpcTccWrenP"
      "ublicStartResult\022\021\n\tSucceeded\030\001 \002(\010\022\n\n\002I"
      "D\030\002 \002(\003\022 \n\003RST\030\003 \002(\0132\023.PbPhysicalTimeSpe"
      "c\"6\n\033PbRpcTccWrenKVPublicReadArg\022\n\n\002ID\030\001"
      " \002(\003\022\013\n\003Key\030\002 \003(\014\"B\n\036PbRpcTccWrenKVPubli"
      "cReadResult\022\021\n\tSucceeded\030\001 \002(\010\022\r\n\005Value\030"
      "\002 \003(\014\"G\n\035PbRpcTccWrenKVPublicCommitArg\022\n"
      "\n\002ID\030\001 \002(\003\022\013\n\003Key\030\002 \003(\014\022\r\n\005Value\030\003 \003(\014\"V"
      "\n PbRpcTccWrenKVPublicCommitResult\022\021\n\tSu"
      "cceeded\030\001 \002(\010\022\037\n\002CT\030\002 \002(\0132\023.PbPhysicalTi"
      "meSpec\"\217\001\n#PbRpcTccWrenKVInternalTxSlice"
      "GetArg\022\013\n\003Key\030\001 \002(\014\022 \n\003LDT\030\002 \002(\0132\023.PbPhy"
      "sicalTimeSpec\022 \n\003RST\030\003 \002(\0132\023.PbPhysicalT"
      "imeSpec\022\n\n\002id\030\004 \001(\003\022\013\n\003src\030\005 \001(\003\"\216\001\n&PbR"
      "pcTccWrenKVInternalTxSliceGetResult\022\021\n\tS"
      "ucceeded\030\001 \002(\010\022\020\n\010GetValue\030\002 \002(\014\022\022\n\nSrcR"
      "eplica\030\003 \001(\005\022\022\n\nwaitedXact\030\004 \001(\001\022\n\n\002id\030\005"
      " \001(\003\022\013\n\003src\030\006 \001(\003\"\224\001\n(PbRpcTccWrenKVInte"
      "rnalTxSliceReadKeysArg\022\013\n\003Key\030\001 \003(\014\022 \n\003L"
      "DT\030\002 \002(\0132\023.PbPhysicalTimeSpec\022 \n\003RST\030\003 \002"
      "(\0132\023.PbPhysicalTimeSpec\022\n\n\002id\030\004 \001(\003\022\013\n\003s"
      "rc\030\005 \001(\003\"\220\001\n+PbRpcTccWrenKVInternalTxSli"
      "ceReadKeysResult\022\021\n\tSucceeded\030\001 \002(\010\022\r\n\005V"
      "alue\030\002 \003(\014\022\022\n\nSrcReplica\030\003 \001(\005\022\022\n\nwaited"
      "Xact\030\004 \001(\001\022\n\n\002id\030\005 \001(\003\022\013\n\003src\030\006 \001(\003\"C\n\010P"
      "bRpcRST\022!\n\004Time\030\001 \002(\0132\023.PbPhysicalTimeSp"
      "ec\022\024\n\014SrcPartition\030\002 \001(\005\"\247\001\n,PbRpcTccWre"
      "nPartitionClientPrepareRequestArg\022\n\n\002id\030"
      "\001 \002(\003\022 \n\003LDT\030\002 \002(\0132\023.PbPhysicalTimeSpec\022"
      " \n\003RST\030\003 \002(\0132\023.PbPhysicalTimeSpec\022\013\n\003Key"
      "\030\004 \003(\014\022\r\n\005Value\030\005 \003(\014\022\013\n\003src\030\006 \002(\003", 1354);
    ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
      "tcc_wren_messages.proto", &protobuf_RegisterTypes);
    PbRpcTccWrenPublicStartArg::default_instance_ = new PbRpcTccWrenPublicStartArg();
    PbRpcTccWrenPublicStartResult::default_instance_ = new PbRpcTccWrenPublicStartResult();
    PbRpcTccWrenKVPublicReadArg::default_instance_ = new PbRpcTccWrenKVPublicReadArg();
    PbRpcTccWrenKVPublicReadResult::default_instance_ = new PbRpcTccWrenKVPublicReadResult();
    PbRpcTccWrenKVPublicCommitArg::default_instance_ = new PbRpcTccWrenKVPublicCommitArg();
    PbRpcTccWrenKVPublicCommitResult::default_instance_ = new PbRpcTccWrenKVPublicCommitResult();
    PbRpcTccWrenKVInternalTxSliceGetArg::default_instance_ = new PbRpcTccWrenKVInternalTxSliceGetArg();
    PbRpcTccWrenKVInternalTxSliceGetResult::default_instance_ = new PbRpcTccWrenKVInternalTxSliceGetResult();
    PbRpcTccWrenKVInternalTxSliceReadKeysArg::default_instance_ = new PbRpcTccWrenKVInternalTxSliceReadKeysArg();
    PbRpcTccWrenKVInternalTxSliceReadKeysResult::default_instance_ = new PbRpcTccWrenKVInternalTxSliceReadKeysResult();
    PbRpcRST::default_instance_ = new PbRpcRST();
    PbRpcTccWrenPartitionClientPrepareRequestArg::default_instance_ = new PbRpcTccWrenPartitionClientPrepareRequestArg();
    PbRpcTccWrenPublicStartArg::default_instance_->InitAsDefaultInstance();
    PbRpcTccWrenPublicStartResult::default_instance_->InitAsDefaultInstance();
    PbRpcTccWrenKVPublicReadArg::default_instance_->InitAsDefaultInstance();
    PbRpcTccWrenKVPublicReadResult::default_instance_->InitAsDefaultInstance();
    PbRpcTccWrenKVPublicCommitArg::default_instance_->InitAsDefaultInstance();
    PbRpcTccWrenKVPublicCommitResult::default_instance_->InitAsDefaultInstance();
    PbRpcTccWrenKVInternalTxSliceGetArg::default_instance_->InitAsDefaultInstance();
    PbRpcTccWrenKVInternalTxSliceGetResult::default_instance_->InitAsDefaultInstance();
    PbRpcTccWrenKVInternalTxSliceReadKeysArg::default_instance_->InitAsDefaultInstance();
    PbRpcTccWrenKVInternalTxSliceReadKeysResult::default_instance_->InitAsDefaultInstance();
    PbRpcRST::default_instance_->InitAsDefaultInstance();
    PbRpcTccWrenPartitionClientPrepareRequestArg::default_instance_->InitAsDefaultInstance();
    ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_tcc_5fwren_5fmessages_2eproto);
  }
  
  // Force AddDescriptors() to be called at static initialization time.
  struct StaticDescriptorInitializer_tcc_5fwren_5fmessages_2eproto {
    StaticDescriptorInitializer_tcc_5fwren_5fmessages_2eproto() {
      protobuf_AddDesc_tcc_5fwren_5fmessages_2eproto();
    }
  } static_descriptor_initializer_tcc_5fwren_5fmessages_2eproto_;
  
  // ===================================================================
  
  #ifndef _MSC_VER
  const int PbRpcTccWrenPublicStartArg::kLDTFieldNumber;
  const int PbRpcTccWrenPublicStartArg::kRSTFieldNumber;
  #endif  // !_MSC_VER
  
  PbRpcTccWrenPublicStartArg::PbRpcTccWrenPublicStartArg()
    : ::google::protobuf::Message() {
    SharedCtor();
    // @@protoc_insertion_point(constructor:PbRpcTccWrenPublicStartArg)
  }
  
  void PbRpcTccWrenPublicStartArg::InitAsDefaultInstance() {
    ldt_ = const_cast< ::PbPhysicalTimeSpec*>(&::PbPhysicalTimeSpec::default_instance());
    rst_ = const_cast< ::PbPhysicalTimeSpec*>(&::PbPhysicalTimeSpec::default_instance());
  }
  
  PbRpcTccWrenPublicStartArg::PbRpcTccWrenPublicStartArg(const PbRpcTccWrenPublicStartArg& from)
    : ::google::protobuf::Message() {
    SharedCtor();
    MergeFrom(from);
    // @@protoc_insertion_point(copy_constructor:PbRpcTccWrenPublicStartArg)
  }
  
  void PbRpcTccWrenPublicStartArg::SharedCtor() {
    _cached_size_ = 0;
    ldt_ = NULL;
    rst_ = NULL;
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
  }
  
  PbRpcTccWrenPublicStartArg::~PbRpcTccWrenPublicStartArg() {
    // @@protoc_insertion_point(destructor:PbRpcTccWrenPublicStartArg)
    SharedDtor();
  }
  
  void PbRpcTccWrenPublicStartArg::SharedDtor() {
    if (this != default_instance_) {
      delete ldt_;
      delete rst_;
    }
  }
  
  void PbRpcTccWrenPublicStartArg::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* PbRpcTccWrenPublicStartArg::descriptor() {
    protobuf_AssignDescriptorsOnce();
    return PbRpcTccWrenPublicStartArg_descriptor_;
  }
  
  const PbRpcTccWrenPublicStartArg& PbRpcTccWrenPublicStartArg::default_instance() {
    if (default_instance_ == NULL) protobuf_AddDesc_tcc_5fwren_5fmessages_2eproto();
    return *default_instance_;
  }
  
  PbRpcTccWrenPublicStartArg* PbRpcTccWrenPublicStartArg::default_instance_ = NULL;
  
  PbRpcTccWrenPublicStartArg* PbRpcTccWrenPublicStartArg::New() const {
    return new PbRpcTccWrenPublicStartArg;
  }
  
  void PbRpcTccWrenPublicStartArg::Clear() {
    if (_has_bits_[0 / 32] & 3) {
      if (has_ldt()) {
        if (ldt_ != NULL) ldt_->::PbPhysicalTimeSpec::Clear();
      }
      if (has_rst()) {
        if (rst_ != NULL) rst_->::PbPhysicalTimeSpec::Clear();
      }
    }
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
    mutable_unknown_fields()->Clear();
  }
  
  bool PbRpcTccWrenPublicStartArg::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:PbRpcTccWrenPublicStartArg)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required .PbPhysicalTimeSpec LDT = 1;
        case 1: {
          if (tag == 10) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                 input, mutable_ldt()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(18)) goto parse_RST;
          break;
        }
  
        // required .PbPhysicalTimeSpec RST = 2;
        case 2: {
          if (tag == 18) {
           parse_RST:
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                 input, mutable_rst()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectAtEnd()) goto success;
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0 ||
              ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
              ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:PbRpcTccWrenPublicStartArg)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:PbRpcTccWrenPublicStartArg)
    return false;
  #undef DO_
  }
  
  void PbRpcTccWrenPublicStartArg::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:PbRpcTccWrenPublicStartArg)
    // required .PbPhysicalTimeSpec LDT = 1;
    if (has_ldt()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        1, this->ldt(), output);
    }
  
    // required .PbPhysicalTimeSpec RST = 2;
    if (has_rst()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        2, this->rst(), output);
    }
  
    if (!unknown_fields().empty()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:PbRpcTccWrenPublicStartArg)
  }
  
  ::google::protobuf::uint8* PbRpcTccWrenPublicStartArg::SerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:PbRpcTccWrenPublicStartArg)
    // required .PbPhysicalTimeSpec LDT = 1;
    if (has_ldt()) {
      target = ::google::protobuf::internal::WireFormatLite::
        WriteMessageNoVirtualToArray(
          1, this->ldt(), target);
    }
  
    // required .PbPhysicalTimeSpec RST = 2;
    if (has_rst()) {
      target = ::google::protobuf::internal::WireFormatLite::
        WriteMessageNoVirtualToArray(
          2, this->rst(), target);
    }
  
    if (!unknown_fields().empty()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:PbRpcTccWrenPublicStartArg)
    return target;
  }
  
  int PbRpcTccWrenPublicStartArg::ByteSize() const {
    int total_size = 0;
  
    if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      // required .PbPhysicalTimeSpec LDT = 1;
      if (has_ldt()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
            this->ldt());
      }
  
      // required .PbPhysicalTimeSpec RST = 2;
      if (has_rst()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
            this->rst());
      }
  
    }
    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 PbRpcTccWrenPublicStartArg::MergeFrom(const ::google::protobuf::Message& from) {
    GOOGLE_CHECK_NE(&from, this);
    const PbRpcTccWrenPublicStartArg* source =
      ::google::protobuf::internal::dynamic_cast_if_available<const PbRpcTccWrenPublicStartArg*>(
        &from);
    if (source == NULL) {
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
      MergeFrom(*source);
    }
  }
  
  void PbRpcTccWrenPublicStartArg::MergeFrom(const PbRpcTccWrenPublicStartArg& from) {
    GOOGLE_CHECK_NE(&from, this);
    if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      if (from.has_ldt()) {
        mutable_ldt()->::PbPhysicalTimeSpec::MergeFrom(from.ldt());
      }
      if (from.has_rst()) {
        mutable_rst()->::PbPhysicalTimeSpec::MergeFrom(from.rst());
      }
    }
    mutable_unknown_fields()->MergeFrom(from.unknown_fields());
  }
  
  void PbRpcTccWrenPublicStartArg::CopyFrom(const ::google::protobuf::Message& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void PbRpcTccWrenPublicStartArg::CopyFrom(const PbRpcTccWrenPublicStartArg& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool PbRpcTccWrenPublicStartArg::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
  
    if (has_ldt()) {
      if (!this->ldt().IsInitialized()) return false;
    }
    if (has_rst()) {
      if (!this->rst().IsInitialized()) return false;
    }
    return true;
  }
  
  void PbRpcTccWrenPublicStartArg::Swap(PbRpcTccWrenPublicStartArg* other) {
    if (other != this) {
      std::swap(ldt_, other->ldt_);
      std::swap(rst_, other->rst_);
      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 PbRpcTccWrenPublicStartArg::GetMetadata() const {
    protobuf_AssignDescriptorsOnce();
    ::google::protobuf::Metadata metadata;
    metadata.descriptor = PbRpcTccWrenPublicStartArg_descriptor_;
    metadata.reflection = PbRpcTccWrenPublicStartArg_reflection_;
    return metadata;
  }
  
  
  // ===================================================================
  
  #ifndef _MSC_VER
  const int PbRpcTccWrenPublicStartResult::kSucceededFieldNumber;
  const int PbRpcTccWrenPublicStartResult::kIDFieldNumber;
  const int PbRpcTccWrenPublicStartResult::kRSTFieldNumber;
  #endif  // !_MSC_VER
  
  PbRpcTccWrenPublicStartResult::PbRpcTccWrenPublicStartResult()
    : ::google::protobuf::Message() {
    SharedCtor();
    // @@protoc_insertion_point(constructor:PbRpcTccWrenPublicStartResult)
  }
  
  void PbRpcTccWrenPublicStartResult::InitAsDefaultInstance() {
    rst_ = const_cast< ::PbPhysicalTimeSpec*>(&::PbPhysicalTimeSpec::default_instance());
  }
  
  PbRpcTccWrenPublicStartResult::PbRpcTccWrenPublicStartResult(const PbRpcTccWrenPublicStartResult& from)
    : ::google::protobuf::Message() {
    SharedCtor();
    MergeFrom(from);
    // @@protoc_insertion_point(copy_constructor:PbRpcTccWrenPublicStartResult)
  }
  
  void PbRpcTccWrenPublicStartResult::SharedCtor() {
    _cached_size_ = 0;
    succeeded_ = false;
    id_ = GOOGLE_LONGLONG(0);
    rst_ = NULL;
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
  }
  
  PbRpcTccWrenPublicStartResult::~PbRpcTccWrenPublicStartResult() {
    // @@protoc_insertion_point(destructor:PbRpcTccWrenPublicStartResult)
    SharedDtor();
  }
  
  void PbRpcTccWrenPublicStartResult::SharedDtor() {
    if (this != default_instance_) {
      delete rst_;
    }
  }
  
  void PbRpcTccWrenPublicStartResult::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* PbRpcTccWrenPublicStartResult::descriptor() {
    protobuf_AssignDescriptorsOnce();
    return PbRpcTccWrenPublicStartResult_descriptor_;
  }
  
  const PbRpcTccWrenPublicStartResult& PbRpcTccWrenPublicStartResult::default_instance() {
    if (default_instance_ == NULL) protobuf_AddDesc_tcc_5fwren_5fmessages_2eproto();
    return *default_instance_;
  }
  
  PbRpcTccWrenPublicStartResult* PbRpcTccWrenPublicStartResult::default_instance_ = NULL;
  
  PbRpcTccWrenPublicStartResult* PbRpcTccWrenPublicStartResult::New() const {
    return new PbRpcTccWrenPublicStartResult;
  }
  
  void PbRpcTccWrenPublicStartResult::Clear() {
    if (_has_bits_[0 / 32] & 7) {
      succeeded_ = false;
      id_ = GOOGLE_LONGLONG(0);
      if (has_rst()) {
        if (rst_ != NULL) rst_->::PbPhysicalTimeSpec::Clear();
      }
    }
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
    mutable_unknown_fields()->Clear();
  }
  
  bool PbRpcTccWrenPublicStartResult::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:PbRpcTccWrenPublicStartResult)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required bool Succeeded = 1;
        case 1: {
          if (tag == 8) {
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                   input, &succeeded_)));
            set_has_succeeded();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(16)) goto parse_ID;
          break;
        }
  
        // required int64 ID = 2;
        case 2: {
          if (tag == 16) {
           parse_ID:
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                   input, &id_)));
            set_has_id();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(26)) goto parse_RST;
          break;
        }
  
        // required .PbPhysicalTimeSpec RST = 3;
        case 3: {
          if (tag == 26) {
           parse_RST:
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                 input, mutable_rst()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectAtEnd()) goto success;
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0 ||
              ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
              ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:PbRpcTccWrenPublicStartResult)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:PbRpcTccWrenPublicStartResult)
    return false;
  #undef DO_
  }
  
  void PbRpcTccWrenPublicStartResult::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:PbRpcTccWrenPublicStartResult)
    // required bool Succeeded = 1;
    if (has_succeeded()) {
      ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->succeeded(), output);
    }
  
    // required int64 ID = 2;
    if (has_id()) {
      ::google::protobuf::internal::WireFormatLite::WriteInt64(2, this->id(), output);
    }
  
    // required .PbPhysicalTimeSpec RST = 3;
    if (has_rst()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        3, this->rst(), output);
    }
  
    if (!unknown_fields().empty()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:PbRpcTccWrenPublicStartResult)
  }
  
  ::google::protobuf::uint8* PbRpcTccWrenPublicStartResult::SerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:PbRpcTccWrenPublicStartResult)
    // required bool Succeeded = 1;
    if (has_succeeded()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->succeeded(), target);
    }
  
    // required int64 ID = 2;
    if (has_id()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(2, this->id(), target);
    }
  
    // required .PbPhysicalTimeSpec RST = 3;
    if (has_rst()) {
      target = ::google::protobuf::internal::WireFormatLite::
        WriteMessageNoVirtualToArray(
          3, this->rst(), target);
    }
  
    if (!unknown_fields().empty()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:PbRpcTccWrenPublicStartResult)
    return target;
  }
  
  int PbRpcTccWrenPublicStartResult::ByteSize() const {
    int total_size = 0;
  
    if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      // required bool Succeeded = 1;
      if (has_succeeded()) {
        total_size += 1 + 1;
      }
  
      // required int64 ID = 2;
      if (has_id()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::Int64Size(
            this->id());
      }
  
      // required .PbPhysicalTimeSpec RST = 3;
      if (has_rst()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
            this->rst());
      }
  
    }
    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 PbRpcTccWrenPublicStartResult::MergeFrom(const ::google::protobuf::Message& from) {
    GOOGLE_CHECK_NE(&from, this);
    const PbRpcTccWrenPublicStartResult* source =
      ::google::protobuf::internal::dynamic_cast_if_available<const PbRpcTccWrenPublicStartResult*>(
        &from);
    if (source == NULL) {
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
      MergeFrom(*source);
    }
  }
  
  void PbRpcTccWrenPublicStartResult::MergeFrom(const PbRpcTccWrenPublicStartResult& from) {
    GOOGLE_CHECK_NE(&from, this);
    if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      if (from.has_succeeded()) {
        set_succeeded(from.succeeded());
      }
      if (from.has_id()) {
        set_id(from.id());
      }
      if (from.has_rst()) {
        mutable_rst()->::PbPhysicalTimeSpec::MergeFrom(from.rst());
      }
    }
    mutable_unknown_fields()->MergeFrom(from.unknown_fields());
  }
  
  void PbRpcTccWrenPublicStartResult::CopyFrom(const ::google::protobuf::Message& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void PbRpcTccWrenPublicStartResult::CopyFrom(const PbRpcTccWrenPublicStartResult& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool PbRpcTccWrenPublicStartResult::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000007) != 0x00000007) return false;
  
    if (has_rst()) {
      if (!this->rst().IsInitialized()) return false;
    }
    return true;
  }
  
  void PbRpcTccWrenPublicStartResult::Swap(PbRpcTccWrenPublicStartResult* other) {
    if (other != this) {
      std::swap(succeeded_, other->succeeded_);
      std::swap(id_, other->id_);
      std::swap(rst_, other->rst_);
      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 PbRpcTccWrenPublicStartResult::GetMetadata() const {
    protobuf_AssignDescriptorsOnce();
    ::google::protobuf::Metadata metadata;
    metadata.descriptor = PbRpcTccWrenPublicStartResult_descriptor_;
    metadata.reflection = PbRpcTccWrenPublicStartResult_reflection_;
    return metadata;
  }
  
  
  // ===================================================================
  
  #ifndef _MSC_VER
  const int PbRpcTccWrenKVPublicReadArg::kIDFieldNumber;
  const int PbRpcTccWrenKVPublicReadArg::kKeyFieldNumber;
  #endif  // !_MSC_VER
  
  PbRpcTccWrenKVPublicReadArg::PbRpcTccWrenKVPublicReadArg()
    : ::google::protobuf::Message() {
    SharedCtor();
    // @@protoc_insertion_point(constructor:PbRpcTccWrenKVPublicReadArg)
  }
  
  void PbRpcTccWrenKVPublicReadArg::InitAsDefaultInstance() {
  }
  
  PbRpcTccWrenKVPublicReadArg::PbRpcTccWrenKVPublicReadArg(const PbRpcTccWrenKVPublicReadArg& from)
    : ::google::protobuf::Message() {
    SharedCtor();
    MergeFrom(from);
    // @@protoc_insertion_point(copy_constructor:PbRpcTccWrenKVPublicReadArg)
  }
  
  void PbRpcTccWrenKVPublicReadArg::SharedCtor() {
    ::google::protobuf::internal::GetEmptyString();
    _cached_size_ = 0;
    id_ = GOOGLE_LONGLONG(0);
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
  }
  
  PbRpcTccWrenKVPublicReadArg::~PbRpcTccWrenKVPublicReadArg() {
    // @@protoc_insertion_point(destructor:PbRpcTccWrenKVPublicReadArg)
    SharedDtor();
  }
  
  void PbRpcTccWrenKVPublicReadArg::SharedDtor() {
    if (this != default_instance_) {
    }
  }
  
  void PbRpcTccWrenKVPublicReadArg::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* PbRpcTccWrenKVPublicReadArg::descriptor() {
    protobuf_AssignDescriptorsOnce();
    return PbRpcTccWrenKVPublicReadArg_descriptor_;
  }
  
  const PbRpcTccWrenKVPublicReadArg& PbRpcTccWrenKVPublicReadArg::default_instance() {
    if (default_instance_ == NULL) protobuf_AddDesc_tcc_5fwren_5fmessages_2eproto();
    return *default_instance_;
  }
  
  PbRpcTccWrenKVPublicReadArg* PbRpcTccWrenKVPublicReadArg::default_instance_ = NULL;
  
  PbRpcTccWrenKVPublicReadArg* PbRpcTccWrenKVPublicReadArg::New() const {
    return new PbRpcTccWrenKVPublicReadArg;
  }
  
  void PbRpcTccWrenKVPublicReadArg::Clear() {
    id_ = GOOGLE_LONGLONG(0);
    key_.Clear();
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
    mutable_unknown_fields()->Clear();
  }
  
  bool PbRpcTccWrenKVPublicReadArg::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:PbRpcTccWrenKVPublicReadArg)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required int64 ID = 1;
        case 1: {
          if (tag == 8) {
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                   input, &id_)));
            set_has_id();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(18)) goto parse_Key;
          break;
        }
  
        // repeated bytes Key = 2;
        case 2: {
          if (tag == 18) {
           parse_Key:
            DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                  input, this->add_key()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(18)) goto parse_Key;
          if (input->ExpectAtEnd()) goto success;
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0 ||
              ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
              ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:PbRpcTccWrenKVPublicReadArg)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:PbRpcTccWrenKVPublicReadArg)
    return false;
  #undef DO_
  }
  
  void PbRpcTccWrenKVPublicReadArg::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:PbRpcTccWrenKVPublicReadArg)
    // required int64 ID = 1;
    if (has_id()) {
      ::google::protobuf::internal::WireFormatLite::WriteInt64(1, this->id(), output);
    }
  
    // repeated bytes Key = 2;
    for (int i = 0; i < this->key_size(); i++) {
      ::google::protobuf::internal::WireFormatLite::WriteBytes(
        2, this->key(i), output);
    }
  
    if (!unknown_fields().empty()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:PbRpcTccWrenKVPublicReadArg)
  }
  
  ::google::protobuf::uint8* PbRpcTccWrenKVPublicReadArg::SerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:PbRpcTccWrenKVPublicReadArg)
    // required int64 ID = 1;
    if (has_id()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(1, this->id(), target);
    }
  
    // repeated bytes Key = 2;
    for (int i = 0; i < this->key_size(); i++) {
      target = ::google::protobuf::internal::WireFormatLite::
        WriteBytesToArray(2, this->key(i), target);
    }
  
    if (!unknown_fields().empty()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:PbRpcTccWrenKVPublicReadArg)
    return target;
  }
  
  int PbRpcTccWrenKVPublicReadArg::ByteSize() const {
    int total_size = 0;
  
    if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      // required int64 ID = 1;
      if (has_id()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::Int64Size(
            this->id());
      }
  
    }
    // repeated bytes Key = 2;
    total_size += 1 * this->key_size();
    for (int i = 0; i < this->key_size(); i++) {
      total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
        this->key(i));
    }
  
    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 PbRpcTccWrenKVPublicReadArg::MergeFrom(const ::google::protobuf::Message& from) {
    GOOGLE_CHECK_NE(&from, this);
    const PbRpcTccWrenKVPublicReadArg* source =
      ::google::protobuf::internal::dynamic_cast_if_available<const PbRpcTccWrenKVPublicReadArg*>(
        &from);
    if (source == NULL) {
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
      MergeFrom(*source);
    }
  }
  
  void PbRpcTccWrenKVPublicReadArg::MergeFrom(const PbRpcTccWrenKVPublicReadArg& from) {
    GOOGLE_CHECK_NE(&from, this);
    key_.MergeFrom(from.key_);
    if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      if (from.has_id()) {
        set_id(from.id());
      }
    }
    mutable_unknown_fields()->MergeFrom(from.unknown_fields());
  }
  
  void PbRpcTccWrenKVPublicReadArg::CopyFrom(const ::google::protobuf::Message& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void PbRpcTccWrenKVPublicReadArg::CopyFrom(const PbRpcTccWrenKVPublicReadArg& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool PbRpcTccWrenKVPublicReadArg::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
  
    return true;
  }
  
  void PbRpcTccWrenKVPublicReadArg::Swap(PbRpcTccWrenKVPublicReadArg* other) {
    if (other != this) {
      std::swap(id_, other->id_);
      key_.Swap(&other->key_);
      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 PbRpcTccWrenKVPublicReadArg::GetMetadata() const {
    protobuf_AssignDescriptorsOnce();
    ::google::protobuf::Metadata metadata;
    metadata.descriptor = PbRpcTccWrenKVPublicReadArg_descriptor_;
    metadata.reflection = PbRpcTccWrenKVPublicReadArg_reflection_;
    return metadata;
  }
  
  
  // ===================================================================
  
  #ifndef _MSC_VER
  const int PbRpcTccWrenKVPublicReadResult::kSucceededFieldNumber;
  const int PbRpcTccWrenKVPublicReadResult::kValueFieldNumber;
  #endif  // !_MSC_VER
  
  PbRpcTccWrenKVPublicReadResult::PbRpcTccWrenKVPublicReadResult()
    : ::google::protobuf::Message() {
    SharedCtor();
    // @@protoc_insertion_point(constructor:PbRpcTccWrenKVPublicReadResult)
  }
  
  void PbRpcTccWrenKVPublicReadResult::InitAsDefaultInstance() {
  }
  
  PbRpcTccWrenKVPublicReadResult::PbRpcTccWrenKVPublicReadResult(const PbRpcTccWrenKVPublicReadResult& from)
    : ::google::protobuf::Message() {
    SharedCtor();
    MergeFrom(from);
    // @@protoc_insertion_point(copy_constructor:PbRpcTccWrenKVPublicReadResult)
  }
  
  void PbRpcTccWrenKVPublicReadResult::SharedCtor() {
    ::google::protobuf::internal::GetEmptyString();
    _cached_size_ = 0;
    succeeded_ = false;
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
  }
  
  PbRpcTccWrenKVPublicReadResult::~PbRpcTccWrenKVPublicReadResult() {
    // @@protoc_insertion_point(destructor:PbRpcTccWrenKVPublicReadResult)
    SharedDtor();
  }
  
  void PbRpcTccWrenKVPublicReadResult::SharedDtor() {
    if (this != default_instance_) {
    }
  }
  
  void PbRpcTccWrenKVPublicReadResult::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* PbRpcTccWrenKVPublicReadResult::descriptor() {
    protobuf_AssignDescriptorsOnce();
    return PbRpcTccWrenKVPublicReadResult_descriptor_;
  }
  
  const PbRpcTccWrenKVPublicReadResult& PbRpcTccWrenKVPublicReadResult::default_instance() {
    if (default_instance_ == NULL) protobuf_AddDesc_tcc_5fwren_5fmessages_2eproto();
    return *default_instance_;
  }
  
  PbRpcTccWrenKVPublicReadResult* PbRpcTccWrenKVPublicReadResult::default_instance_ = NULL;
  
  PbRpcTccWrenKVPublicReadResult* PbRpcTccWrenKVPublicReadResult::New() const {
    return new PbRpcTccWrenKVPublicReadResult;
  }
  
  void PbRpcTccWrenKVPublicReadResult::Clear() {
    succeeded_ = false;
    value_.Clear();
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
    mutable_unknown_fields()->Clear();
  }
  
  bool PbRpcTccWrenKVPublicReadResult::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:PbRpcTccWrenKVPublicReadResult)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required bool Succeeded = 1;
        case 1: {
          if (tag == 8) {
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                   input, &succeeded_)));
            set_has_succeeded();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(18)) goto parse_Value;
          break;
        }
  
        // repeated bytes Value = 2;
        case 2: {
          if (tag == 18) {
           parse_Value:
            DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                  input, this->add_value()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(18)) goto parse_Value;
          if (input->ExpectAtEnd()) goto success;
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0 ||
              ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
              ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:PbRpcTccWrenKVPublicReadResult)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:PbRpcTccWrenKVPublicReadResult)
    return false;
  #undef DO_
  }
  
  void PbRpcTccWrenKVPublicReadResult::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:PbRpcTccWrenKVPublicReadResult)
    // required bool Succeeded = 1;
    if (has_succeeded()) {
      ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->succeeded(), output);
    }
  
    // repeated bytes Value = 2;
    for (int i = 0; i < this->value_size(); i++) {
      ::google::protobuf::internal::WireFormatLite::WriteBytes(
        2, this->value(i), output);
    }
  
    if (!unknown_fields().empty()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:PbRpcTccWrenKVPublicReadResult)
  }
  
  ::google::protobuf::uint8* PbRpcTccWrenKVPublicReadResult::SerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:PbRpcTccWrenKVPublicReadResult)
    // required bool Succeeded = 1;
    if (has_succeeded()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->succeeded(), target);
    }
  
    // repeated bytes Value = 2;
    for (int i = 0; i < this->value_size(); i++) {
      target = ::google::protobuf::internal::WireFormatLite::
        WriteBytesToArray(2, this->value(i), target);
    }
  
    if (!unknown_fields().empty()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:PbRpcTccWrenKVPublicReadResult)
    return target;
  }
  
  int PbRpcTccWrenKVPublicReadResult::ByteSize() const {
    int total_size = 0;
  
    if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      // required bool Succeeded = 1;
      if (has_succeeded()) {
        total_size += 1 + 1;
      }
  
    }
    // repeated bytes Value = 2;
    total_size += 1 * this->value_size();
    for (int i = 0; i < this->value_size(); i++) {
      total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
        this->value(i));
    }
  
    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 PbRpcTccWrenKVPublicReadResult::MergeFrom(const ::google::protobuf::Message& from) {
    GOOGLE_CHECK_NE(&from, this);
    const PbRpcTccWrenKVPublicReadResult* source =
      ::google::protobuf::internal::dynamic_cast_if_available<const PbRpcTccWrenKVPublicReadResult*>(
        &from);
    if (source == NULL) {
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
      MergeFrom(*source);
    }
  }
  
  void PbRpcTccWrenKVPublicReadResult::MergeFrom(const PbRpcTccWrenKVPublicReadResult& from) {
    GOOGLE_CHECK_NE(&from, this);
    value_.MergeFrom(from.value_);
    if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      if (from.has_succeeded()) {
        set_succeeded(from.succeeded());
      }
    }
    mutable_unknown_fields()->MergeFrom(from.unknown_fields());
  }
  
  void PbRpcTccWrenKVPublicReadResult::CopyFrom(const ::google::protobuf::Message& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void PbRpcTccWrenKVPublicReadResult::CopyFrom(const PbRpcTccWrenKVPublicReadResult& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool PbRpcTccWrenKVPublicReadResult::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
  
    return true;
  }
  
  void PbRpcTccWrenKVPublicReadResult::Swap(PbRpcTccWrenKVPublicReadResult* other) {
    if (other != this) {
      std::swap(succeeded_, other->succeeded_);
      value_.Swap(&other->value_);
      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 PbRpcTccWrenKVPublicReadResult::GetMetadata() const {
    protobuf_AssignDescriptorsOnce();
    ::google::protobuf::Metadata metadata;
    metadata.descriptor = PbRpcTccWrenKVPublicReadResult_descriptor_;
    metadata.reflection = PbRpcTccWrenKVPublicReadResult_reflection_;
    return metadata;
  }
  
  
  // ===================================================================
  
  #ifndef _MSC_VER
  const int PbRpcTccWrenKVPublicCommitArg::kIDFieldNumber;
  const int PbRpcTccWrenKVPublicCommitArg::kKeyFieldNumber;
  const int PbRpcTccWrenKVPublicCommitArg::kValueFieldNumber;
  #endif  // !_MSC_VER
  
  PbRpcTccWrenKVPublicCommitArg::PbRpcTccWrenKVPublicCommitArg()
    : ::google::protobuf::Message() {
    SharedCtor();
    // @@protoc_insertion_point(constructor:PbRpcTccWrenKVPublicCommitArg)
  }
  
  void PbRpcTccWrenKVPublicCommitArg::InitAsDefaultInstance() {
  }
  
  PbRpcTccWrenKVPublicCommitArg::PbRpcTccWrenKVPublicCommitArg(const PbRpcTccWrenKVPublicCommitArg& from)
    : ::google::protobuf::Message() {
    SharedCtor();
    MergeFrom(from);
    // @@protoc_insertion_point(copy_constructor:PbRpcTccWrenKVPublicCommitArg)
  }
  
  void PbRpcTccWrenKVPublicCommitArg::SharedCtor() {
    ::google::protobuf::internal::GetEmptyString();
    _cached_size_ = 0;
    id_ = GOOGLE_LONGLONG(0);
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
  }
  
  PbRpcTccWrenKVPublicCommitArg::~PbRpcTccWrenKVPublicCommitArg() {
    // @@protoc_insertion_point(destructor:PbRpcTccWrenKVPublicCommitArg)
    SharedDtor();
  }
  
  void PbRpcTccWrenKVPublicCommitArg::SharedDtor() {
    if (this != default_instance_) {
    }
  }
  
  void PbRpcTccWrenKVPublicCommitArg::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* PbRpcTccWrenKVPublicCommitArg::descriptor() {
    protobuf_AssignDescriptorsOnce();
    return PbRpcTccWrenKVPublicCommitArg_descriptor_;
  }
  
  const PbRpcTccWrenKVPublicCommitArg& PbRpcTccWrenKVPublicCommitArg::default_instance() {
    if (default_instance_ == NULL) protobuf_AddDesc_tcc_5fwren_5fmessages_2eproto();
    return *default_instance_;
  }
  
  PbRpcTccWrenKVPublicCommitArg* PbRpcTccWrenKVPublicCommitArg::default_instance_ = NULL;
  
  PbRpcTccWrenKVPublicCommitArg* PbRpcTccWrenKVPublicCommitArg::New() const {
    return new PbRpcTccWrenKVPublicCommitArg;
  }
  
  void PbRpcTccWrenKVPublicCommitArg::Clear() {
    id_ = GOOGLE_LONGLONG(0);
    key_.Clear();
    value_.Clear();
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
    mutable_unknown_fields()->Clear();
  }
  
  bool PbRpcTccWrenKVPublicCommitArg::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:PbRpcTccWrenKVPublicCommitArg)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required int64 ID = 1;
        case 1: {
          if (tag == 8) {
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                   input, &id_)));
            set_has_id();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(18)) goto parse_Key;
          break;
        }
  
        // repeated bytes Key = 2;
        case 2: {
          if (tag == 18) {
           parse_Key:
            DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                  input, this->add_key()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(18)) goto parse_Key;
          if (input->ExpectTag(26)) goto parse_Value;
          break;
        }
  
        // repeated bytes Value = 3;
        case 3: {
          if (tag == 26) {
           parse_Value:
            DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                  input, this->add_value()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(26)) goto parse_Value;
          if (input->ExpectAtEnd()) goto success;
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0 ||
              ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
              ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:PbRpcTccWrenKVPublicCommitArg)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:PbRpcTccWrenKVPublicCommitArg)
    return false;
  #undef DO_
  }
  
  void PbRpcTccWrenKVPublicCommitArg::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:PbRpcTccWrenKVPublicCommitArg)
    // required int64 ID = 1;
    if (has_id()) {
      ::google::protobuf::internal::WireFormatLite::WriteInt64(1, this->id(), output);
    }
  
    // repeated bytes Key = 2;
    for (int i = 0; i < this->key_size(); i++) {
      ::google::protobuf::internal::WireFormatLite::WriteBytes(
        2, this->key(i), output);
    }
  
    // repeated bytes Value = 3;
    for (int i = 0; i < this->value_size(); i++) {
      ::google::protobuf::internal::WireFormatLite::WriteBytes(
        3, this->value(i), output);
    }
  
    if (!unknown_fields().empty()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:PbRpcTccWrenKVPublicCommitArg)
  }
  
  ::google::protobuf::uint8* PbRpcTccWrenKVPublicCommitArg::SerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:PbRpcTccWrenKVPublicCommitArg)
    // required int64 ID = 1;
    if (has_id()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(1, this->id(), target);
    }
  
    // repeated bytes Key = 2;
    for (int i = 0; i < this->key_size(); i++) {
      target = ::google::protobuf::internal::WireFormatLite::
        WriteBytesToArray(2, this->key(i), target);
    }
  
    // repeated bytes Value = 3;
    for (int i = 0; i < this->value_size(); i++) {
      target = ::google::protobuf::internal::WireFormatLite::
        WriteBytesToArray(3, this->value(i), target);
    }
  
    if (!unknown_fields().empty()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:PbRpcTccWrenKVPublicCommitArg)
    return target;
  }
  
  int PbRpcTccWrenKVPublicCommitArg::ByteSize() const {
    int total_size = 0;
  
    if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      // required int64 ID = 1;
      if (has_id()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::Int64Size(
            this->id());
      }
  
    }
    // repeated bytes Key = 2;
    total_size += 1 * this->key_size();
    for (int i = 0; i < this->key_size(); i++) {
      total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
        this->key(i));
    }
  
    // repeated bytes Value = 3;
    total_size += 1 * this->value_size();
    for (int i = 0; i < this->value_size(); i++) {
      total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
        this->value(i));
    }
  
    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 PbRpcTccWrenKVPublicCommitArg::MergeFrom(const ::google::protobuf::Message& from) {
    GOOGLE_CHECK_NE(&from, this);
    const PbRpcTccWrenKVPublicCommitArg* source =
      ::google::protobuf::internal::dynamic_cast_if_available<const PbRpcTccWrenKVPublicCommitArg*>(
        &from);
    if (source == NULL) {
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
      MergeFrom(*source);
    }
  }
  
  void PbRpcTccWrenKVPublicCommitArg::MergeFrom(const PbRpcTccWrenKVPublicCommitArg& from) {
    GOOGLE_CHECK_NE(&from, this);
    key_.MergeFrom(from.key_);
    value_.MergeFrom(from.value_);
    if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      if (from.has_id()) {
        set_id(from.id());
      }
    }
    mutable_unknown_fields()->MergeFrom(from.unknown_fields());
  }
  
  void PbRpcTccWrenKVPublicCommitArg::CopyFrom(const ::google::protobuf::Message& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void PbRpcTccWrenKVPublicCommitArg::CopyFrom(const PbRpcTccWrenKVPublicCommitArg& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool PbRpcTccWrenKVPublicCommitArg::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
  
    return true;
  }
  
  void PbRpcTccWrenKVPublicCommitArg::Swap(PbRpcTccWrenKVPublicCommitArg* other) {
    if (other != this) {
      std::swap(id_, other->id_);
      key_.Swap(&other->key_);
      value_.Swap(&other->value_);
      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 PbRpcTccWrenKVPublicCommitArg::GetMetadata() const {
    protobuf_AssignDescriptorsOnce();
    ::google::protobuf::Metadata metadata;
    metadata.descriptor = PbRpcTccWrenKVPublicCommitArg_descriptor_;
    metadata.reflection = PbRpcTccWrenKVPublicCommitArg_reflection_;
    return metadata;
  }
  
  
  // ===================================================================
  
  #ifndef _MSC_VER
  const int PbRpcTccWrenKVPublicCommitResult::kSucceededFieldNumber;
  const int PbRpcTccWrenKVPublicCommitResult::kCTFieldNumber;
  #endif  // !_MSC_VER
  
  PbRpcTccWrenKVPublicCommitResult::PbRpcTccWrenKVPublicCommitResult()
    : ::google::protobuf::Message() {
    SharedCtor();
    // @@protoc_insertion_point(constructor:PbRpcTccWrenKVPublicCommitResult)
  }
  
  void PbRpcTccWrenKVPublicCommitResult::InitAsDefaultInstance() {
    ct_ = const_cast< ::PbPhysicalTimeSpec*>(&::PbPhysicalTimeSpec::default_instance());
  }
  
  PbRpcTccWrenKVPublicCommitResult::PbRpcTccWrenKVPublicCommitResult(const PbRpcTccWrenKVPublicCommitResult& from)
    : ::google::protobuf::Message() {
    SharedCtor();
    MergeFrom(from);
    // @@protoc_insertion_point(copy_constructor:PbRpcTccWrenKVPublicCommitResult)
  }
  
  void PbRpcTccWrenKVPublicCommitResult::SharedCtor() {
    _cached_size_ = 0;
    succeeded_ = false;
    ct_ = NULL;
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
  }
  
  PbRpcTccWrenKVPublicCommitResult::~PbRpcTccWrenKVPublicCommitResult() {
    // @@protoc_insertion_point(destructor:PbRpcTccWrenKVPublicCommitResult)
    SharedDtor();
  }
  
  void PbRpcTccWrenKVPublicCommitResult::SharedDtor() {
    if (this != default_instance_) {
      delete ct_;
    }
  }
  
  void PbRpcTccWrenKVPublicCommitResult::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* PbRpcTccWrenKVPublicCommitResult::descriptor() {
    protobuf_AssignDescriptorsOnce();
    return PbRpcTccWrenKVPublicCommitResult_descriptor_;
  }
  
  const PbRpcTccWrenKVPublicCommitResult& PbRpcTccWrenKVPublicCommitResult::default_instance() {
    if (default_instance_ == NULL) protobuf_AddDesc_tcc_5fwren_5fmessages_2eproto();
    return *default_instance_;
  }
  
  PbRpcTccWrenKVPublicCommitResult* PbRpcTccWrenKVPublicCommitResult::default_instance_ = NULL;
  
  PbRpcTccWrenKVPublicCommitResult* PbRpcTccWrenKVPublicCommitResult::New() const {
    return new PbRpcTccWrenKVPublicCommitResult;
  }
  
  void PbRpcTccWrenKVPublicCommitResult::Clear() {
    if (_has_bits_[0 / 32] & 3) {
      succeeded_ = false;
      if (has_ct()) {
        if (ct_ != NULL) ct_->::PbPhysicalTimeSpec::Clear();
      }
    }
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
    mutable_unknown_fields()->Clear();
  }
  
  bool PbRpcTccWrenKVPublicCommitResult::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:PbRpcTccWrenKVPublicCommitResult)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required bool Succeeded = 1;
        case 1: {
          if (tag == 8) {
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                   input, &succeeded_)));
            set_has_succeeded();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(18)) goto parse_CT;
          break;
        }
  
        // required .PbPhysicalTimeSpec CT = 2;
        case 2: {
          if (tag == 18) {
           parse_CT:
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                 input, mutable_ct()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectAtEnd()) goto success;
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0 ||
              ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
              ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:PbRpcTccWrenKVPublicCommitResult)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:PbRpcTccWrenKVPublicCommitResult)
    return false;
  #undef DO_
  }
  
  void PbRpcTccWrenKVPublicCommitResult::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:PbRpcTccWrenKVPublicCommitResult)
    // required bool Succeeded = 1;
    if (has_succeeded()) {
      ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->succeeded(), output);
    }
  
    // required .PbPhysicalTimeSpec CT = 2;
    if (has_ct()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        2, this->ct(), output);
    }
  
    if (!unknown_fields().empty()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:PbRpcTccWrenKVPublicCommitResult)
  }
  
  ::google::protobuf::uint8* PbRpcTccWrenKVPublicCommitResult::SerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:PbRpcTccWrenKVPublicCommitResult)
    // required bool Succeeded = 1;
    if (has_succeeded()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->succeeded(), target);
    }
  
    // required .PbPhysicalTimeSpec CT = 2;
    if (has_ct()) {
      target = ::google::protobuf::internal::WireFormatLite::
        WriteMessageNoVirtualToArray(
          2, this->ct(), target);
    }
  
    if (!unknown_fields().empty()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:PbRpcTccWrenKVPublicCommitResult)
    return target;
  }
  
  int PbRpcTccWrenKVPublicCommitResult::ByteSize() const {
    int total_size = 0;
  
    if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      // required bool Succeeded = 1;
      if (has_succeeded()) {
        total_size += 1 + 1;
      }
  
      // required .PbPhysicalTimeSpec CT = 2;
      if (has_ct()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
            this->ct());
      }
  
    }
    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 PbRpcTccWrenKVPublicCommitResult::MergeFrom(const ::google::protobuf::Message& from) {
    GOOGLE_CHECK_NE(&from, this);
    const PbRpcTccWrenKVPublicCommitResult* source =
      ::google::protobuf::internal::dynamic_cast_if_available<const PbRpcTccWrenKVPublicCommitResult*>(
        &from);
    if (source == NULL) {
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
      MergeFrom(*source);
    }
  }
  
  void PbRpcTccWrenKVPublicCommitResult::MergeFrom(const PbRpcTccWrenKVPublicCommitResult& from) {
    GOOGLE_CHECK_NE(&from, this);
    if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      if (from.has_succeeded()) {
        set_succeeded(from.succeeded());
      }
      if (from.has_ct()) {
        mutable_ct()->::PbPhysicalTimeSpec::MergeFrom(from.ct());
      }
    }
    mutable_unknown_fields()->MergeFrom(from.unknown_fields());
  }
  
  void PbRpcTccWrenKVPublicCommitResult::CopyFrom(const ::google::protobuf::Message& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void PbRpcTccWrenKVPublicCommitResult::CopyFrom(const PbRpcTccWrenKVPublicCommitResult& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool PbRpcTccWrenKVPublicCommitResult::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
  
    if (has_ct()) {
      if (!this->ct().IsInitialized()) return false;
    }
    return true;
  }
  
  void PbRpcTccWrenKVPublicCommitResult::Swap(PbRpcTccWrenKVPublicCommitResult* other) {
    if (other != this) {
      std::swap(succeeded_, other->succeeded_);
      std::swap(ct_, other->ct_);
      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 PbRpcTccWrenKVPublicCommitResult::GetMetadata() const {
    protobuf_AssignDescriptorsOnce();
    ::google::protobuf::Metadata metadata;
    metadata.descriptor = PbRpcTccWrenKVPublicCommitResult_descriptor_;
    metadata.reflection = PbRpcTccWrenKVPublicCommitResult_reflection_;
    return metadata;
  }
  
  
  // ===================================================================
  
  #ifndef _MSC_VER
  const int PbRpcTccWrenKVInternalTxSliceGetArg::kKeyFieldNumber;
  const int PbRpcTccWrenKVInternalTxSliceGetArg::kLDTFieldNumber;
  const int PbRpcTccWrenKVInternalTxSliceGetArg::kRSTFieldNumber;
  const int PbRpcTccWrenKVInternalTxSliceGetArg::kIdFieldNumber;
  const int PbRpcTccWrenKVInternalTxSliceGetArg::kSrcFieldNumber;
  #endif  // !_MSC_VER
  
  PbRpcTccWrenKVInternalTxSliceGetArg::PbRpcTccWrenKVInternalTxSliceGetArg()
    : ::google::protobuf::Message() {
    SharedCtor();
    // @@protoc_insertion_point(constructor:PbRpcTccWrenKVInternalTxSliceGetArg)
  }
  
  void PbRpcTccWrenKVInternalTxSliceGetArg::InitAsDefaultInstance() {
    ldt_ = const_cast< ::PbPhysicalTimeSpec*>(&::PbPhysicalTimeSpec::default_instance());
    rst_ = const_cast< ::PbPhysicalTimeSpec*>(&::PbPhysicalTimeSpec::default_instance());
  }
  
  PbRpcTccWrenKVInternalTxSliceGetArg::PbRpcTccWrenKVInternalTxSliceGetArg(const PbRpcTccWrenKVInternalTxSliceGetArg& from)
    : ::google::protobuf::Message() {
    SharedCtor();
    MergeFrom(from);
    // @@protoc_insertion_point(copy_constructor:PbRpcTccWrenKVInternalTxSliceGetArg)
  }
  
  void PbRpcTccWrenKVInternalTxSliceGetArg::SharedCtor() {
    ::google::protobuf::internal::GetEmptyString();
    _cached_size_ = 0;
    key_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    ldt_ = NULL;
    rst_ = NULL;
    id_ = GOOGLE_LONGLONG(0);
    src_ = GOOGLE_LONGLONG(0);
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
  }
  
  PbRpcTccWrenKVInternalTxSliceGetArg::~PbRpcTccWrenKVInternalTxSliceGetArg() {
    // @@protoc_insertion_point(destructor:PbRpcTccWrenKVInternalTxSliceGetArg)
    SharedDtor();
  }
  
  void PbRpcTccWrenKVInternalTxSliceGetArg::SharedDtor() {
    if (key_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      delete key_;
    }
    if (this != default_instance_) {
      delete ldt_;
      delete rst_;
    }
  }
  
  void PbRpcTccWrenKVInternalTxSliceGetArg::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* PbRpcTccWrenKVInternalTxSliceGetArg::descriptor() {
    protobuf_AssignDescriptorsOnce();
    return PbRpcTccWrenKVInternalTxSliceGetArg_descriptor_;
  }
  
  const PbRpcTccWrenKVInternalTxSliceGetArg& PbRpcTccWrenKVInternalTxSliceGetArg::default_instance() {
    if (default_instance_ == NULL) protobuf_AddDesc_tcc_5fwren_5fmessages_2eproto();
    return *default_instance_;
  }
  
  PbRpcTccWrenKVInternalTxSliceGetArg* PbRpcTccWrenKVInternalTxSliceGetArg::default_instance_ = NULL;
  
  PbRpcTccWrenKVInternalTxSliceGetArg* PbRpcTccWrenKVInternalTxSliceGetArg::New() const {
    return new PbRpcTccWrenKVInternalTxSliceGetArg;
  }
  
  void PbRpcTccWrenKVInternalTxSliceGetArg::Clear() {
  #define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
    &reinterpret_cast<PbRpcTccWrenKVInternalTxSliceGetArg*>(16)->f) - \
     reinterpret_cast<char*>(16))
  
  #define ZR_(first, last) do {                              \
      size_t f = OFFSET_OF_FIELD_(first);                    \
      size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
      ::memset(&first, 0, n);                                \
    } while (0)
  
    if (_has_bits_[0 / 32] & 31) {
      ZR_(id_, src_);
      if (has_key()) {
        if (key_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
          key_->clear();
        }
      }
      if (has_ldt()) {
        if (ldt_ != NULL) ldt_->::PbPhysicalTimeSpec::Clear();
      }
      if (has_rst()) {
        if (rst_ != NULL) rst_->::PbPhysicalTimeSpec::Clear();
      }
    }
  
  #undef OFFSET_OF_FIELD_
  #undef ZR_
  
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
    mutable_unknown_fields()->Clear();
  }
  
  bool PbRpcTccWrenKVInternalTxSliceGetArg::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:PbRpcTccWrenKVInternalTxSliceGetArg)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required bytes Key = 1;
        case 1: {
          if (tag == 10) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                  input, this->mutable_key()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(18)) goto parse_LDT;
          break;
        }
  
        // required .PbPhysicalTimeSpec LDT = 2;
        case 2: {
          if (tag == 18) {
           parse_LDT:
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                 input, mutable_ldt()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(26)) goto parse_RST;
          break;
        }
  
        // required .PbPhysicalTimeSpec RST = 3;
        case 3: {
          if (tag == 26) {
           parse_RST:
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                 input, mutable_rst()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(32)) goto parse_id;
          break;
        }
  
        // optional int64 id = 4;
        case 4: {
          if (tag == 32) {
           parse_id:
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                   input, &id_)));
            set_has_id();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(40)) goto parse_src;
          break;
        }
  
        // optional int64 src = 5;
        case 5: {
          if (tag == 40) {
           parse_src:
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                   input, &src_)));
            set_has_src();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectAtEnd()) goto success;
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0 ||
              ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
              ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:PbRpcTccWrenKVInternalTxSliceGetArg)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:PbRpcTccWrenKVInternalTxSliceGetArg)
    return false;
  #undef DO_
  }
  
  void PbRpcTccWrenKVInternalTxSliceGetArg::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:PbRpcTccWrenKVInternalTxSliceGetArg)
    // required bytes Key = 1;
    if (has_key()) {
      ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
        1, this->key(), output);
    }
  
    // required .PbPhysicalTimeSpec LDT = 2;
    if (has_ldt()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        2, this->ldt(), output);
    }
  
    // required .PbPhysicalTimeSpec RST = 3;
    if (has_rst()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        3, this->rst(), output);
    }
  
    // optional int64 id = 4;
    if (has_id()) {
      ::google::protobuf::internal::WireFormatLite::WriteInt64(4, this->id(), output);
    }
  
    // optional int64 src = 5;
    if (has_src()) {
      ::google::protobuf::internal::WireFormatLite::WriteInt64(5, this->src(), output);
    }
  
    if (!unknown_fields().empty()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:PbRpcTccWrenKVInternalTxSliceGetArg)
  }
  
  ::google::protobuf::uint8* PbRpcTccWrenKVInternalTxSliceGetArg::SerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:PbRpcTccWrenKVInternalTxSliceGetArg)
    // required bytes Key = 1;
    if (has_key()) {
      target =
        ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
          1, this->key(), target);
    }
  
    // required .PbPhysicalTimeSpec LDT = 2;
    if (has_ldt()) {
      target = ::google::protobuf::internal::WireFormatLite::
        WriteMessageNoVirtualToArray(
          2, this->ldt(), target);
    }
  
    // required .PbPhysicalTimeSpec RST = 3;
    if (has_rst()) {
      target = ::google::protobuf::internal::WireFormatLite::
        WriteMessageNoVirtualToArray(
          3, this->rst(), target);
    }
  
    // optional int64 id = 4;
    if (has_id()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(4, this->id(), target);
    }
  
    // optional int64 src = 5;
    if (has_src()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(5, this->src(), target);
    }
  
    if (!unknown_fields().empty()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:PbRpcTccWrenKVInternalTxSliceGetArg)
    return target;
  }
  
  int PbRpcTccWrenKVInternalTxSliceGetArg::ByteSize() const {
    int total_size = 0;
  
    if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      // required bytes Key = 1;
      if (has_key()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::BytesSize(
            this->key());
      }
  
      // required .PbPhysicalTimeSpec LDT = 2;
      if (has_ldt()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
            this->ldt());
      }
  
      // required .PbPhysicalTimeSpec RST = 3;
      if (has_rst()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
            this->rst());
      }
  
      // optional int64 id = 4;
      if (has_id()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::Int64Size(
            this->id());
      }
  
      // optional int64 src = 5;
      if (has_src()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::Int64Size(
            this->src());
      }
  
    }
    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 PbRpcTccWrenKVInternalTxSliceGetArg::MergeFrom(const ::google::protobuf::Message& from) {
    GOOGLE_CHECK_NE(&from, this);
    const PbRpcTccWrenKVInternalTxSliceGetArg* source =
      ::google::protobuf::internal::dynamic_cast_if_available<const PbRpcTccWrenKVInternalTxSliceGetArg*>(
        &from);
    if (source == NULL) {
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
      MergeFrom(*source);
    }
  }
  
  void PbRpcTccWrenKVInternalTxSliceGetArg::MergeFrom(const PbRpcTccWrenKVInternalTxSliceGetArg& from) {
    GOOGLE_CHECK_NE(&from, this);
    if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      if (from.has_key()) {
        set_key(from.key());
      }
      if (from.has_ldt()) {
        mutable_ldt()->::PbPhysicalTimeSpec::MergeFrom(from.ldt());
      }
      if (from.has_rst()) {
        mutable_rst()->::PbPhysicalTimeSpec::MergeFrom(from.rst());
      }
      if (from.has_id()) {
        set_id(from.id());
      }
      if (from.has_src()) {
        set_src(from.src());
      }
    }
    mutable_unknown_fields()->MergeFrom(from.unknown_fields());
  }
  
  void PbRpcTccWrenKVInternalTxSliceGetArg::CopyFrom(const ::google::protobuf::Message& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void PbRpcTccWrenKVInternalTxSliceGetArg::CopyFrom(const PbRpcTccWrenKVInternalTxSliceGetArg& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool PbRpcTccWrenKVInternalTxSliceGetArg::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000007) != 0x00000007) return false;
  
    if (has_ldt()) {
      if (!this->ldt().IsInitialized()) return false;
    }
    if (has_rst()) {
      if (!this->rst().IsInitialized()) return false;
    }
    return true;
  }
  
  void PbRpcTccWrenKVInternalTxSliceGetArg::Swap(PbRpcTccWrenKVInternalTxSliceGetArg* other) {
    if (other != this) {
      std::swap(key_, other->key_);
      std::swap(ldt_, other->ldt_);
      std::swap(rst_, other->rst_);
      std::swap(id_, other->id_);
      std::swap(src_, other->src_);
      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 PbRpcTccWrenKVInternalTxSliceGetArg::GetMetadata() const {
    protobuf_AssignDescriptorsOnce();
    ::google::protobuf::Metadata metadata;
    metadata.descriptor = PbRpcTccWrenKVInternalTxSliceGetArg_descriptor_;
    metadata.reflection = PbRpcTccWrenKVInternalTxSliceGetArg_reflection_;
    return metadata;
  }
  
  
  // ===================================================================
  
  #ifndef _MSC_VER
  const int PbRpcTccWrenKVInternalTxSliceGetResult::kSucceededFieldNumber;
  const int PbRpcTccWrenKVInternalTxSliceGetResult::kGetValueFieldNumber;
  const int PbRpcTccWrenKVInternalTxSliceGetResult::kSrcReplicaFieldNumber;
  const int PbRpcTccWrenKVInternalTxSliceGetResult::kWaitedXactFieldNumber;
  const int PbRpcTccWrenKVInternalTxSliceGetResult::kIdFieldNumber;
  const int PbRpcTccWrenKVInternalTxSliceGetResult::kSrcFieldNumber;
  #endif  // !_MSC_VER
  
  PbRpcTccWrenKVInternalTxSliceGetResult::PbRpcTccWrenKVInternalTxSliceGetResult()
    : ::google::protobuf::Message() {
    SharedCtor();
    // @@protoc_insertion_point(constructor:PbRpcTccWrenKVInternalTxSliceGetResult)
  }
  
  void PbRpcTccWrenKVInternalTxSliceGetResult::InitAsDefaultInstance() {
  }
  
  PbRpcTccWrenKVInternalTxSliceGetResult::PbRpcTccWrenKVInternalTxSliceGetResult(const PbRpcTccWrenKVInternalTxSliceGetResult& from)
    : ::google::protobuf::Message() {
    SharedCtor();
    MergeFrom(from);
    // @@protoc_insertion_point(copy_constructor:PbRpcTccWrenKVInternalTxSliceGetResult)
  }
  
  void PbRpcTccWrenKVInternalTxSliceGetResult::SharedCtor() {
    ::google::protobuf::internal::GetEmptyString();
    _cached_size_ = 0;
    succeeded_ = false;
    getvalue_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    srcreplica_ = 0;
    waitedxact_ = 0;
    id_ = GOOGLE_LONGLONG(0);
    src_ = GOOGLE_LONGLONG(0);
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
  }
  
  PbRpcTccWrenKVInternalTxSliceGetResult::~PbRpcTccWrenKVInternalTxSliceGetResult() {
    // @@protoc_insertion_point(destructor:PbRpcTccWrenKVInternalTxSliceGetResult)
    SharedDtor();
  }
  
  void PbRpcTccWrenKVInternalTxSliceGetResult::SharedDtor() {
    if (getvalue_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      delete getvalue_;
    }
    if (this != default_instance_) {
    }
  }
  
  void PbRpcTccWrenKVInternalTxSliceGetResult::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* PbRpcTccWrenKVInternalTxSliceGetResult::descriptor() {
    protobuf_AssignDescriptorsOnce();
    return PbRpcTccWrenKVInternalTxSliceGetResult_descriptor_;
  }
  
  const PbRpcTccWrenKVInternalTxSliceGetResult& PbRpcTccWrenKVInternalTxSliceGetResult::default_instance() {
    if (default_instance_ == NULL) protobuf_AddDesc_tcc_5fwren_5fmessages_2eproto();
    return *default_instance_;
  }
  
  PbRpcTccWrenKVInternalTxSliceGetResult* PbRpcTccWrenKVInternalTxSliceGetResult::default_instance_ = NULL;
  
  PbRpcTccWrenKVInternalTxSliceGetResult* PbRpcTccWrenKVInternalTxSliceGetResult::New() const {
    return new PbRpcTccWrenKVInternalTxSliceGetResult;
  }
  
  void PbRpcTccWrenKVInternalTxSliceGetResult::Clear() {
  #define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
    &reinterpret_cast<PbRpcTccWrenKVInternalTxSliceGetResult*>(16)->f) - \
     reinterpret_cast<char*>(16))
  
  #define ZR_(first, last) do {                              \
      size_t f = OFFSET_OF_FIELD_(first);                    \
      size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
      ::memset(&first, 0, n);                                \
    } while (0)
  
    if (_has_bits_[0 / 32] & 63) {
      ZR_(succeeded_, src_);
      if (has_getvalue()) {
        if (getvalue_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
          getvalue_->clear();
        }
      }
    }
  
  #undef OFFSET_OF_FIELD_
  #undef ZR_
  
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
    mutable_unknown_fields()->Clear();
  }
  
  bool PbRpcTccWrenKVInternalTxSliceGetResult::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:PbRpcTccWrenKVInternalTxSliceGetResult)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required bool Succeeded = 1;
        case 1: {
          if (tag == 8) {
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                   input, &succeeded_)));
            set_has_succeeded();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(18)) goto parse_GetValue;
          break;
        }
  
        // required bytes GetValue = 2;
        case 2: {
          if (tag == 18) {
           parse_GetValue:
            DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                  input, this->mutable_getvalue()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(24)) goto parse_SrcReplica;
          break;
        }
  
        // optional int32 SrcReplica = 3;
        case 3: {
          if (tag == 24) {
           parse_SrcReplica:
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &srcreplica_)));
            set_has_srcreplica();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(33)) goto parse_waitedXact;
          break;
        }
  
        // optional double waitedXact = 4;
        case 4: {
          if (tag == 33) {
           parse_waitedXact:
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
                   input, &waitedxact_)));
            set_has_waitedxact();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(40)) goto parse_id;
          break;
        }
  
        // optional int64 id = 5;
        case 5: {
          if (tag == 40) {
           parse_id:
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                   input, &id_)));
            set_has_id();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(48)) goto parse_src;
          break;
        }
  
        // optional int64 src = 6;
        case 6: {
          if (tag == 48) {
           parse_src:
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                   input, &src_)));
            set_has_src();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectAtEnd()) goto success;
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0 ||
              ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
              ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:PbRpcTccWrenKVInternalTxSliceGetResult)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:PbRpcTccWrenKVInternalTxSliceGetResult)
    return false;
  #undef DO_
  }
  
  void PbRpcTccWrenKVInternalTxSliceGetResult::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:PbRpcTccWrenKVInternalTxSliceGetResult)
    // required bool Succeeded = 1;
    if (has_succeeded()) {
      ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->succeeded(), output);
    }
  
    // required bytes GetValue = 2;
    if (has_getvalue()) {
      ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
        2, this->getvalue(), output);
    }
  
    // optional int32 SrcReplica = 3;
    if (has_srcreplica()) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->srcreplica(), output);
    }
  
    // optional double waitedXact = 4;
    if (has_waitedxact()) {
      ::google::protobuf::internal::WireFormatLite::WriteDouble(4, this->waitedxact(), output);
    }
  
    // optional int64 id = 5;
    if (has_id()) {
      ::google::protobuf::internal::WireFormatLite::WriteInt64(5, this->id(), output);
    }
  
    // optional int64 src = 6;
    if (has_src()) {
      ::google::protobuf::internal::WireFormatLite::WriteInt64(6, this->src(), output);
    }
  
    if (!unknown_fields().empty()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:PbRpcTccWrenKVInternalTxSliceGetResult)
  }
  
  ::google::protobuf::uint8* PbRpcTccWrenKVInternalTxSliceGetResult::SerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:PbRpcTccWrenKVInternalTxSliceGetResult)
    // required bool Succeeded = 1;
    if (has_succeeded()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->succeeded(), target);
    }
  
    // required bytes GetValue = 2;
    if (has_getvalue()) {
      target =
        ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
          2, this->getvalue(), target);
    }
  
    // optional int32 SrcReplica = 3;
    if (has_srcreplica()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->srcreplica(), target);
    }
  
    // optional double waitedXact = 4;
    if (has_waitedxact()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(4, this->waitedxact(), target);
    }
  
    // optional int64 id = 5;
    if (has_id()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(5, this->id(), target);
    }
  
    // optional int64 src = 6;
    if (has_src()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(6, this->src(), target);
    }
  
    if (!unknown_fields().empty()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:PbRpcTccWrenKVInternalTxSliceGetResult)
    return target;
  }
  
  int PbRpcTccWrenKVInternalTxSliceGetResult::ByteSize() const {
    int total_size = 0;
  
    if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      // required bool Succeeded = 1;
      if (has_succeeded()) {
        total_size += 1 + 1;
      }
  
      // required bytes GetValue = 2;
      if (has_getvalue()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::BytesSize(
            this->getvalue());
      }
  
      // optional int32 SrcReplica = 3;
      if (has_srcreplica()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::Int32Size(
            this->srcreplica());
      }
  
      // optional double waitedXact = 4;
      if (has_waitedxact()) {
        total_size += 1 + 8;
      }
  
      // optional int64 id = 5;
      if (has_id()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::Int64Size(
            this->id());
      }
  
      // optional int64 src = 6;
      if (has_src()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::Int64Size(
            this->src());
      }
  
    }
    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 PbRpcTccWrenKVInternalTxSliceGetResult::MergeFrom(const ::google::protobuf::Message& from) {
    GOOGLE_CHECK_NE(&from, this);
    const PbRpcTccWrenKVInternalTxSliceGetResult* source =
      ::google::protobuf::internal::dynamic_cast_if_available<const PbRpcTccWrenKVInternalTxSliceGetResult*>(
        &from);
    if (source == NULL) {
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
      MergeFrom(*source);
    }
  }
  
  void PbRpcTccWrenKVInternalTxSliceGetResult::MergeFrom(const PbRpcTccWrenKVInternalTxSliceGetResult& from) {
    GOOGLE_CHECK_NE(&from, this);
    if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      if (from.has_succeeded()) {
        set_succeeded(from.succeeded());
      }
      if (from.has_getvalue()) {
        set_getvalue(from.getvalue());
      }
      if (from.has_srcreplica()) {
        set_srcreplica(from.srcreplica());
      }
      if (from.has_waitedxact()) {
        set_waitedxact(from.waitedxact());
      }
      if (from.has_id()) {
        set_id(from.id());
      }
      if (from.has_src()) {
        set_src(from.src());
      }
    }
    mutable_unknown_fields()->MergeFrom(from.unknown_fields());
  }
  
  void PbRpcTccWrenKVInternalTxSliceGetResult::CopyFrom(const ::google::protobuf::Message& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void PbRpcTccWrenKVInternalTxSliceGetResult::CopyFrom(const PbRpcTccWrenKVInternalTxSliceGetResult& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool PbRpcTccWrenKVInternalTxSliceGetResult::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
  
    return true;
  }
  
  void PbRpcTccWrenKVInternalTxSliceGetResult::Swap(PbRpcTccWrenKVInternalTxSliceGetResult* other) {
    if (other != this) {
      std::swap(succeeded_, other->succeeded_);
      std::swap(getvalue_, other->getvalue_);
      std::swap(srcreplica_, other->srcreplica_);
      std::swap(waitedxact_, other->waitedxact_);
      std::swap(id_, other->id_);
      std::swap(src_, other->src_);
      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 PbRpcTccWrenKVInternalTxSliceGetResult::GetMetadata() const {
    protobuf_AssignDescriptorsOnce();
    ::google::protobuf::Metadata metadata;
    metadata.descriptor = PbRpcTccWrenKVInternalTxSliceGetResult_descriptor_;
    metadata.reflection = PbRpcTccWrenKVInternalTxSliceGetResult_reflection_;
    return metadata;
  }
  
  
  // ===================================================================
  
  #ifndef _MSC_VER
  const int PbRpcTccWrenKVInternalTxSliceReadKeysArg::kKeyFieldNumber;
  const int PbRpcTccWrenKVInternalTxSliceReadKeysArg::kLDTFieldNumber;
  const int PbRpcTccWrenKVInternalTxSliceReadKeysArg::kRSTFieldNumber;
  const int PbRpcTccWrenKVInternalTxSliceReadKeysArg::kIdFieldNumber;
  const int PbRpcTccWrenKVInternalTxSliceReadKeysArg::kSrcFieldNumber;
  #endif  // !_MSC_VER
  
  PbRpcTccWrenKVInternalTxSliceReadKeysArg::PbRpcTccWrenKVInternalTxSliceReadKeysArg()
    : ::google::protobuf::Message() {
    SharedCtor();
    // @@protoc_insertion_point(constructor:PbRpcTccWrenKVInternalTxSliceReadKeysArg)
  }
  
  void PbRpcTccWrenKVInternalTxSliceReadKeysArg::InitAsDefaultInstance() {
    ldt_ = const_cast< ::PbPhysicalTimeSpec*>(&::PbPhysicalTimeSpec::default_instance());
    rst_ = const_cast< ::PbPhysicalTimeSpec*>(&::PbPhysicalTimeSpec::default_instance());
  }
  
  PbRpcTccWrenKVInternalTxSliceReadKeysArg::PbRpcTccWrenKVInternalTxSliceReadKeysArg(const PbRpcTccWrenKVInternalTxSliceReadKeysArg& from)
    : ::google::protobuf::Message() {
    SharedCtor();
    MergeFrom(from);
    // @@protoc_insertion_point(copy_constructor:PbRpcTccWrenKVInternalTxSliceReadKeysArg)
  }
  
  void PbRpcTccWrenKVInternalTxSliceReadKeysArg::SharedCtor() {
    ::google::protobuf::internal::GetEmptyString();
    _cached_size_ = 0;
    ldt_ = NULL;
    rst_ = NULL;
    id_ = GOOGLE_LONGLONG(0);
    src_ = GOOGLE_LONGLONG(0);
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
  }
  
  PbRpcTccWrenKVInternalTxSliceReadKeysArg::~PbRpcTccWrenKVInternalTxSliceReadKeysArg() {
    // @@protoc_insertion_point(destructor:PbRpcTccWrenKVInternalTxSliceReadKeysArg)
    SharedDtor();
  }
  
  void PbRpcTccWrenKVInternalTxSliceReadKeysArg::SharedDtor() {
    if (this != default_instance_) {
      delete ldt_;
      delete rst_;
    }
  }
  
  void PbRpcTccWrenKVInternalTxSliceReadKeysArg::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* PbRpcTccWrenKVInternalTxSliceReadKeysArg::descriptor() {
    protobuf_AssignDescriptorsOnce();
    return PbRpcTccWrenKVInternalTxSliceReadKeysArg_descriptor_;
  }
  
  const PbRpcTccWrenKVInternalTxSliceReadKeysArg& PbRpcTccWrenKVInternalTxSliceReadKeysArg::default_instance() {
    if (default_instance_ == NULL) protobuf_AddDesc_tcc_5fwren_5fmessages_2eproto();
    return *default_instance_;
  }
  
  PbRpcTccWrenKVInternalTxSliceReadKeysArg* PbRpcTccWrenKVInternalTxSliceReadKeysArg::default_instance_ = NULL;
  
  PbRpcTccWrenKVInternalTxSliceReadKeysArg* PbRpcTccWrenKVInternalTxSliceReadKeysArg::New() const {
    return new PbRpcTccWrenKVInternalTxSliceReadKeysArg;
  }
  
  void PbRpcTccWrenKVInternalTxSliceReadKeysArg::Clear() {
  #define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
    &reinterpret_cast<PbRpcTccWrenKVInternalTxSliceReadKeysArg*>(16)->f) - \
     reinterpret_cast<char*>(16))
  
  #define ZR_(first, last) do {                              \
      size_t f = OFFSET_OF_FIELD_(first);                    \
      size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
      ::memset(&first, 0, n);                                \
    } while (0)
  
    if (_has_bits_[0 / 32] & 30) {
      ZR_(id_, src_);
      if (has_ldt()) {
        if (ldt_ != NULL) ldt_->::PbPhysicalTimeSpec::Clear();
      }
      if (has_rst()) {
        if (rst_ != NULL) rst_->::PbPhysicalTimeSpec::Clear();
      }
    }
  
  #undef OFFSET_OF_FIELD_
  #undef ZR_
  
    key_.Clear();
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
    mutable_unknown_fields()->Clear();
  }
  
  bool PbRpcTccWrenKVInternalTxSliceReadKeysArg::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:PbRpcTccWrenKVInternalTxSliceReadKeysArg)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // repeated bytes Key = 1;
        case 1: {
          if (tag == 10) {
           parse_Key:
            DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                  input, this->add_key()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(10)) goto parse_Key;
          if (input->ExpectTag(18)) goto parse_LDT;
          break;
        }
  
        // required .PbPhysicalTimeSpec LDT = 2;
        case 2: {
          if (tag == 18) {
           parse_LDT:
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                 input, mutable_ldt()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(26)) goto parse_RST;
          break;
        }
  
        // required .PbPhysicalTimeSpec RST = 3;
        case 3: {
          if (tag == 26) {
           parse_RST:
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                 input, mutable_rst()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(32)) goto parse_id;
          break;
        }
  
        // optional int64 id = 4;
        case 4: {
          if (tag == 32) {
           parse_id:
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                   input, &id_)));
            set_has_id();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(40)) goto parse_src;
          break;
        }
  
        // optional int64 src = 5;
        case 5: {
          if (tag == 40) {
           parse_src:
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                   input, &src_)));
            set_has_src();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectAtEnd()) goto success;
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0 ||
              ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
              ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:PbRpcTccWrenKVInternalTxSliceReadKeysArg)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:PbRpcTccWrenKVInternalTxSliceReadKeysArg)
    return false;
  #undef DO_
  }
  
  void PbRpcTccWrenKVInternalTxSliceReadKeysArg::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:PbRpcTccWrenKVInternalTxSliceReadKeysArg)
    // repeated bytes Key = 1;
    for (int i = 0; i < this->key_size(); i++) {
      ::google::protobuf::internal::WireFormatLite::WriteBytes(
        1, this->key(i), output);
    }
  
    // required .PbPhysicalTimeSpec LDT = 2;
    if (has_ldt()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        2, this->ldt(), output);
    }
  
    // required .PbPhysicalTimeSpec RST = 3;
    if (has_rst()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        3, this->rst(), output);
    }
  
    // optional int64 id = 4;
    if (has_id()) {
      ::google::protobuf::internal::WireFormatLite::WriteInt64(4, this->id(), output);
    }
  
    // optional int64 src = 5;
    if (has_src()) {
      ::google::protobuf::internal::WireFormatLite::WriteInt64(5, this->src(), output);
    }
  
    if (!unknown_fields().empty()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:PbRpcTccWrenKVInternalTxSliceReadKeysArg)
  }
  
  ::google::protobuf::uint8* PbRpcTccWrenKVInternalTxSliceReadKeysArg::SerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:PbRpcTccWrenKVInternalTxSliceReadKeysArg)
    // repeated bytes Key = 1;
    for (int i = 0; i < this->key_size(); i++) {
      target = ::google::protobuf::internal::WireFormatLite::
        WriteBytesToArray(1, this->key(i), target);
    }
  
    // required .PbPhysicalTimeSpec LDT = 2;
    if (has_ldt()) {
      target = ::google::protobuf::internal::WireFormatLite::
        WriteMessageNoVirtualToArray(
          2, this->ldt(), target);
    }
  
    // required .PbPhysicalTimeSpec RST = 3;
    if (has_rst()) {
      target = ::google::protobuf::internal::WireFormatLite::
        WriteMessageNoVirtualToArray(
          3, this->rst(), target);
    }
  
    // optional int64 id = 4;
    if (has_id()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(4, this->id(), target);
    }
  
    // optional int64 src = 5;
    if (has_src()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(5, this->src(), target);
    }
  
    if (!unknown_fields().empty()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:PbRpcTccWrenKVInternalTxSliceReadKeysArg)
    return target;
  }
  
  int PbRpcTccWrenKVInternalTxSliceReadKeysArg::ByteSize() const {
    int total_size = 0;
  
    if (_has_bits_[1 / 32] & (0xffu << (1 % 32))) {
      // required .PbPhysicalTimeSpec LDT = 2;
      if (has_ldt()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
            this->ldt());
      }
  
      // required .PbPhysicalTimeSpec RST = 3;
      if (has_rst()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
            this->rst());
      }
  
      // optional int64 id = 4;
      if (has_id()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::Int64Size(
            this->id());
      }
  
      // optional int64 src = 5;
      if (has_src()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::Int64Size(
            this->src());
      }
  
    }
    // repeated bytes Key = 1;
    total_size += 1 * this->key_size();
    for (int i = 0; i < this->key_size(); i++) {
      total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
        this->key(i));
    }
  
    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 PbRpcTccWrenKVInternalTxSliceReadKeysArg::MergeFrom(const ::google::protobuf::Message& from) {
    GOOGLE_CHECK_NE(&from, this);
    const PbRpcTccWrenKVInternalTxSliceReadKeysArg* source =
      ::google::protobuf::internal::dynamic_cast_if_available<const PbRpcTccWrenKVInternalTxSliceReadKeysArg*>(
        &from);
    if (source == NULL) {
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
      MergeFrom(*source);
    }
  }
  
  void PbRpcTccWrenKVInternalTxSliceReadKeysArg::MergeFrom(const PbRpcTccWrenKVInternalTxSliceReadKeysArg& from) {
    GOOGLE_CHECK_NE(&from, this);
    key_.MergeFrom(from.key_);
    if (from._has_bits_[1 / 32] & (0xffu << (1 % 32))) {
      if (from.has_ldt()) {
        mutable_ldt()->::PbPhysicalTimeSpec::MergeFrom(from.ldt());
      }
      if (from.has_rst()) {
        mutable_rst()->::PbPhysicalTimeSpec::MergeFrom(from.rst());
      }
      if (from.has_id()) {
        set_id(from.id());
      }
      if (from.has_src()) {
        set_src(from.src());
      }
    }
    mutable_unknown_fields()->MergeFrom(from.unknown_fields());
  }
  
  void PbRpcTccWrenKVInternalTxSliceReadKeysArg::CopyFrom(const ::google::protobuf::Message& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void PbRpcTccWrenKVInternalTxSliceReadKeysArg::CopyFrom(const PbRpcTccWrenKVInternalTxSliceReadKeysArg& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool PbRpcTccWrenKVInternalTxSliceReadKeysArg::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000006) != 0x00000006) return false;
  
    if (has_ldt()) {
      if (!this->ldt().IsInitialized()) return false;
    }
    if (has_rst()) {
      if (!this->rst().IsInitialized()) return false;
    }
    return true;
  }
  
  void PbRpcTccWrenKVInternalTxSliceReadKeysArg::Swap(PbRpcTccWrenKVInternalTxSliceReadKeysArg* other) {
    if (other != this) {
      key_.Swap(&other->key_);
      std::swap(ldt_, other->ldt_);
      std::swap(rst_, other->rst_);
      std::swap(id_, other->id_);
      std::swap(src_, other->src_);
      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 PbRpcTccWrenKVInternalTxSliceReadKeysArg::GetMetadata() const {
    protobuf_AssignDescriptorsOnce();
    ::google::protobuf::Metadata metadata;
    metadata.descriptor = PbRpcTccWrenKVInternalTxSliceReadKeysArg_descriptor_;
    metadata.reflection = PbRpcTccWrenKVInternalTxSliceReadKeysArg_reflection_;
    return metadata;
  }
  
  
  // ===================================================================
  
  #ifndef _MSC_VER
  const int PbRpcTccWrenKVInternalTxSliceReadKeysResult::kSucceededFieldNumber;
  const int PbRpcTccWrenKVInternalTxSliceReadKeysResult::kValueFieldNumber;
  const int PbRpcTccWrenKVInternalTxSliceReadKeysResult::kSrcReplicaFieldNumber;
  const int PbRpcTccWrenKVInternalTxSliceReadKeysResult::kWaitedXactFieldNumber;
  const int PbRpcTccWrenKVInternalTxSliceReadKeysResult::kIdFieldNumber;
  const int PbRpcTccWrenKVInternalTxSliceReadKeysResult::kSrcFieldNumber;
  #endif  // !_MSC_VER
  
  PbRpcTccWrenKVInternalTxSliceReadKeysResult::PbRpcTccWrenKVInternalTxSliceReadKeysResult()
    : ::google::protobuf::Message() {
    SharedCtor();
    // @@protoc_insertion_point(constructor:PbRpcTccWrenKVInternalTxSliceReadKeysResult)
  }
  
  void PbRpcTccWrenKVInternalTxSliceReadKeysResult::InitAsDefaultInstance() {
  }
  
  PbRpcTccWrenKVInternalTxSliceReadKeysResult::PbRpcTccWrenKVInternalTxSliceReadKeysResult(const PbRpcTccWrenKVInternalTxSliceReadKeysResult& from)
    : ::google::protobuf::Message() {
    SharedCtor();
    MergeFrom(from);
    // @@protoc_insertion_point(copy_constructor:PbRpcTccWrenKVInternalTxSliceReadKeysResult)
  }
  
  void PbRpcTccWrenKVInternalTxSliceReadKeysResult::SharedCtor() {
    ::google::protobuf::internal::GetEmptyString();
    _cached_size_ = 0;
    succeeded_ = false;
    srcreplica_ = 0;
    waitedxact_ = 0;
    id_ = GOOGLE_LONGLONG(0);
    src_ = GOOGLE_LONGLONG(0);
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
  }
  
  PbRpcTccWrenKVInternalTxSliceReadKeysResult::~PbRpcTccWrenKVInternalTxSliceReadKeysResult() {
    // @@protoc_insertion_point(destructor:PbRpcTccWrenKVInternalTxSliceReadKeysResult)
    SharedDtor();
  }
  
  void PbRpcTccWrenKVInternalTxSliceReadKeysResult::SharedDtor() {
    if (this != default_instance_) {
    }
  }
  
  void PbRpcTccWrenKVInternalTxSliceReadKeysResult::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* PbRpcTccWrenKVInternalTxSliceReadKeysResult::descriptor() {
    protobuf_AssignDescriptorsOnce();
    return PbRpcTccWrenKVInternalTxSliceReadKeysResult_descriptor_;
  }
  
  const PbRpcTccWrenKVInternalTxSliceReadKeysResult& PbRpcTccWrenKVInternalTxSliceReadKeysResult::default_instance() {
    if (default_instance_ == NULL) protobuf_AddDesc_tcc_5fwren_5fmessages_2eproto();
    return *default_instance_;
  }
  
  PbRpcTccWrenKVInternalTxSliceReadKeysResult* PbRpcTccWrenKVInternalTxSliceReadKeysResult::default_instance_ = NULL;
  
  PbRpcTccWrenKVInternalTxSliceReadKeysResult* PbRpcTccWrenKVInternalTxSliceReadKeysResult::New() const {
    return new PbRpcTccWrenKVInternalTxSliceReadKeysResult;
  }
  
  void PbRpcTccWrenKVInternalTxSliceReadKeysResult::Clear() {
  #define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
    &reinterpret_cast<PbRpcTccWrenKVInternalTxSliceReadKeysResult*>(16)->f) - \
     reinterpret_cast<char*>(16))
  
  #define ZR_(first, last) do {                              \
      size_t f = OFFSET_OF_FIELD_(first);                    \
      size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
      ::memset(&first, 0, n);                                \
    } while (0)
  
    if (_has_bits_[0 / 32] & 61) {
      ZR_(succeeded_, src_);
    }
  
  #undef OFFSET_OF_FIELD_
  #undef ZR_
  
    value_.Clear();
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
    mutable_unknown_fields()->Clear();
  }
  
  bool PbRpcTccWrenKVInternalTxSliceReadKeysResult::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:PbRpcTccWrenKVInternalTxSliceReadKeysResult)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required bool Succeeded = 1;
        case 1: {
          if (tag == 8) {
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                   input, &succeeded_)));
            set_has_succeeded();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(18)) goto parse_Value;
          break;
        }
  
        // repeated bytes Value = 2;
        case 2: {
          if (tag == 18) {
           parse_Value:
            DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                  input, this->add_value()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(18)) goto parse_Value;
          if (input->ExpectTag(24)) goto parse_SrcReplica;
          break;
        }
  
        // optional int32 SrcReplica = 3;
        case 3: {
          if (tag == 24) {
           parse_SrcReplica:
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &srcreplica_)));
            set_has_srcreplica();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(33)) goto parse_waitedXact;
          break;
        }
  
        // optional double waitedXact = 4;
        case 4: {
          if (tag == 33) {
           parse_waitedXact:
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
                   input, &waitedxact_)));
            set_has_waitedxact();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(40)) goto parse_id;
          break;
        }
  
        // optional int64 id = 5;
        case 5: {
          if (tag == 40) {
           parse_id:
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                   input, &id_)));
            set_has_id();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(48)) goto parse_src;
          break;
        }
  
        // optional int64 src = 6;
        case 6: {
          if (tag == 48) {
           parse_src:
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                   input, &src_)));
            set_has_src();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectAtEnd()) goto success;
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0 ||
              ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
              ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:PbRpcTccWrenKVInternalTxSliceReadKeysResult)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:PbRpcTccWrenKVInternalTxSliceReadKeysResult)
    return false;
  #undef DO_
  }
  
  void PbRpcTccWrenKVInternalTxSliceReadKeysResult::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:PbRpcTccWrenKVInternalTxSliceReadKeysResult)
    // required bool Succeeded = 1;
    if (has_succeeded()) {
      ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->succeeded(), output);
    }
  
    // repeated bytes Value = 2;
    for (int i = 0; i < this->value_size(); i++) {
      ::google::protobuf::internal::WireFormatLite::WriteBytes(
        2, this->value(i), output);
    }
  
    // optional int32 SrcReplica = 3;
    if (has_srcreplica()) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->srcreplica(), output);
    }
  
    // optional double waitedXact = 4;
    if (has_waitedxact()) {
      ::google::protobuf::internal::WireFormatLite::WriteDouble(4, this->waitedxact(), output);
    }
  
    // optional int64 id = 5;
    if (has_id()) {
      ::google::protobuf::internal::WireFormatLite::WriteInt64(5, this->id(), output);
    }
  
    // optional int64 src = 6;
    if (has_src()) {
      ::google::protobuf::internal::WireFormatLite::WriteInt64(6, this->src(), output);
    }
  
    if (!unknown_fields().empty()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:PbRpcTccWrenKVInternalTxSliceReadKeysResult)
  }
  
  ::google::protobuf::uint8* PbRpcTccWrenKVInternalTxSliceReadKeysResult::SerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:PbRpcTccWrenKVInternalTxSliceReadKeysResult)
    // required bool Succeeded = 1;
    if (has_succeeded()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->succeeded(), target);
    }
  
    // repeated bytes Value = 2;
    for (int i = 0; i < this->value_size(); i++) {
      target = ::google::protobuf::internal::WireFormatLite::
        WriteBytesToArray(2, this->value(i), target);
    }
  
    // optional int32 SrcReplica = 3;
    if (has_srcreplica()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->srcreplica(), target);
    }
  
    // optional double waitedXact = 4;
    if (has_waitedxact()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(4, this->waitedxact(), target);
    }
  
    // optional int64 id = 5;
    if (has_id()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(5, this->id(), target);
    }
  
    // optional int64 src = 6;
    if (has_src()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(6, this->src(), target);
    }
  
    if (!unknown_fields().empty()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:PbRpcTccWrenKVInternalTxSliceReadKeysResult)
    return target;
  }
  
  int PbRpcTccWrenKVInternalTxSliceReadKeysResult::ByteSize() const {
    int total_size = 0;
  
    if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      // required bool Succeeded = 1;
      if (has_succeeded()) {
        total_size += 1 + 1;
      }
  
      // optional int32 SrcReplica = 3;
      if (has_srcreplica()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::Int32Size(
            this->srcreplica());
      }
  
      // optional double waitedXact = 4;
      if (has_waitedxact()) {
        total_size += 1 + 8;
      }
  
      // optional int64 id = 5;
      if (has_id()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::Int64Size(
            this->id());
      }
  
      // optional int64 src = 6;
      if (has_src()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::Int64Size(
            this->src());
      }
  
    }
    // repeated bytes Value = 2;
    total_size += 1 * this->value_size();
    for (int i = 0; i < this->value_size(); i++) {
      total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
        this->value(i));
    }
  
    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 PbRpcTccWrenKVInternalTxSliceReadKeysResult::MergeFrom(const ::google::protobuf::Message& from) {
    GOOGLE_CHECK_NE(&from, this);
    const PbRpcTccWrenKVInternalTxSliceReadKeysResult* source =
      ::google::protobuf::internal::dynamic_cast_if_available<const PbRpcTccWrenKVInternalTxSliceReadKeysResult*>(
        &from);
    if (source == NULL) {
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
      MergeFrom(*source);
    }
  }
  
  void PbRpcTccWrenKVInternalTxSliceReadKeysResult::MergeFrom(const PbRpcTccWrenKVInternalTxSliceReadKeysResult& from) {
    GOOGLE_CHECK_NE(&from, this);
    value_.MergeFrom(from.value_);
    if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      if (from.has_succeeded()) {
        set_succeeded(from.succeeded());
      }
      if (from.has_srcreplica()) {
        set_srcreplica(from.srcreplica());
      }
      if (from.has_waitedxact()) {
        set_waitedxact(from.waitedxact());
      }
      if (from.has_id()) {
        set_id(from.id());
      }
      if (from.has_src()) {
        set_src(from.src());
      }
    }
    mutable_unknown_fields()->MergeFrom(from.unknown_fields());
  }
  
  void PbRpcTccWrenKVInternalTxSliceReadKeysResult::CopyFrom(const ::google::protobuf::Message& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void PbRpcTccWrenKVInternalTxSliceReadKeysResult::CopyFrom(const PbRpcTccWrenKVInternalTxSliceReadKeysResult& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool PbRpcTccWrenKVInternalTxSliceReadKeysResult::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
  
    return true;
  }
  
  void PbRpcTccWrenKVInternalTxSliceReadKeysResult::Swap(PbRpcTccWrenKVInternalTxSliceReadKeysResult* other) {
    if (other != this) {
      std::swap(succeeded_, other->succeeded_);
      value_.Swap(&other->value_);
      std::swap(srcreplica_, other->srcreplica_);
      std::swap(waitedxact_, other->waitedxact_);
      std::swap(id_, other->id_);
      std::swap(src_, other->src_);
      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 PbRpcTccWrenKVInternalTxSliceReadKeysResult::GetMetadata() const {
    protobuf_AssignDescriptorsOnce();
    ::google::protobuf::Metadata metadata;
    metadata.descriptor = PbRpcTccWrenKVInternalTxSliceReadKeysResult_descriptor_;
    metadata.reflection = PbRpcTccWrenKVInternalTxSliceReadKeysResult_reflection_;
    return metadata;
  }
  
  
  // ===================================================================
  
  #ifndef _MSC_VER
  const int PbRpcRST::kTimeFieldNumber;
  const int PbRpcRST::kSrcPartitionFieldNumber;
  #endif  // !_MSC_VER
  
  PbRpcRST::PbRpcRST()
    : ::google::protobuf::Message() {
    SharedCtor();
    // @@protoc_insertion_point(constructor:PbRpcRST)
  }
  
  void PbRpcRST::InitAsDefaultInstance() {
    time_ = const_cast< ::PbPhysicalTimeSpec*>(&::PbPhysicalTimeSpec::default_instance());
  }
  
  PbRpcRST::PbRpcRST(const PbRpcRST& from)
    : ::google::protobuf::Message() {
    SharedCtor();
    MergeFrom(from);
    // @@protoc_insertion_point(copy_constructor:PbRpcRST)
  }
  
  void PbRpcRST::SharedCtor() {
    _cached_size_ = 0;
    time_ = NULL;
    srcpartition_ = 0;
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
  }
  
  PbRpcRST::~PbRpcRST() {
    // @@protoc_insertion_point(destructor:PbRpcRST)
    SharedDtor();
  }
  
  void PbRpcRST::SharedDtor() {
    if (this != default_instance_) {
      delete time_;
    }
  }
  
  void PbRpcRST::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* PbRpcRST::descriptor() {
    protobuf_AssignDescriptorsOnce();
    return PbRpcRST_descriptor_;
  }
  
  const PbRpcRST& PbRpcRST::default_instance() {
    if (default_instance_ == NULL) protobuf_AddDesc_tcc_5fwren_5fmessages_2eproto();
    return *default_instance_;
  }
  
  PbRpcRST* PbRpcRST::default_instance_ = NULL;
  
  PbRpcRST* PbRpcRST::New() const {
    return new PbRpcRST;
  }
  
  void PbRpcRST::Clear() {
    if (_has_bits_[0 / 32] & 3) {
      if (has_time()) {
        if (time_ != NULL) time_->::PbPhysicalTimeSpec::Clear();
      }
      srcpartition_ = 0;
    }
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
    mutable_unknown_fields()->Clear();
  }
  
  bool PbRpcRST::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:PbRpcRST)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required .PbPhysicalTimeSpec Time = 1;
        case 1: {
          if (tag == 10) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                 input, mutable_time()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(16)) goto parse_SrcPartition;
          break;
        }
  
        // optional int32 SrcPartition = 2;
        case 2: {
          if (tag == 16) {
           parse_SrcPartition:
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &srcpartition_)));
            set_has_srcpartition();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectAtEnd()) goto success;
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0 ||
              ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
              ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:PbRpcRST)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:PbRpcRST)
    return false;
  #undef DO_
  }
  
  void PbRpcRST::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:PbRpcRST)
    // required .PbPhysicalTimeSpec Time = 1;
    if (has_time()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        1, this->time(), output);
    }
  
    // optional int32 SrcPartition = 2;
    if (has_srcpartition()) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->srcpartition(), output);
    }
  
    if (!unknown_fields().empty()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:PbRpcRST)
  }
  
  ::google::protobuf::uint8* PbRpcRST::SerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:PbRpcRST)
    // required .PbPhysicalTimeSpec Time = 1;
    if (has_time()) {
      target = ::google::protobuf::internal::WireFormatLite::
        WriteMessageNoVirtualToArray(
          1, this->time(), target);
    }
  
    // optional int32 SrcPartition = 2;
    if (has_srcpartition()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->srcpartition(), target);
    }
  
    if (!unknown_fields().empty()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:PbRpcRST)
    return target;
  }
  
  int PbRpcRST::ByteSize() const {
    int total_size = 0;
  
    if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      // required .PbPhysicalTimeSpec Time = 1;
      if (has_time()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
            this->time());
      }
  
      // optional int32 SrcPartition = 2;
      if (has_srcpartition()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::Int32Size(
            this->srcpartition());
      }
  
    }
    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 PbRpcRST::MergeFrom(const ::google::protobuf::Message& from) {
    GOOGLE_CHECK_NE(&from, this);
    const PbRpcRST* source =
      ::google::protobuf::internal::dynamic_cast_if_available<const PbRpcRST*>(
        &from);
    if (source == NULL) {
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
      MergeFrom(*source);
    }
  }
  
  void PbRpcRST::MergeFrom(const PbRpcRST& from) {
    GOOGLE_CHECK_NE(&from, this);
    if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      if (from.has_time()) {
        mutable_time()->::PbPhysicalTimeSpec::MergeFrom(from.time());
      }
      if (from.has_srcpartition()) {
        set_srcpartition(from.srcpartition());
      }
    }
    mutable_unknown_fields()->MergeFrom(from.unknown_fields());
  }
  
  void PbRpcRST::CopyFrom(const ::google::protobuf::Message& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void PbRpcRST::CopyFrom(const PbRpcRST& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool PbRpcRST::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
  
    if (has_time()) {
      if (!this->time().IsInitialized()) return false;
    }
    return true;
  }
  
  void PbRpcRST::Swap(PbRpcRST* other) {
    if (other != this) {
      std::swap(time_, other->time_);
      std::swap(srcpartition_, other->srcpartition_);
      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 PbRpcRST::GetMetadata() const {
    protobuf_AssignDescriptorsOnce();
    ::google::protobuf::Metadata metadata;
    metadata.descriptor = PbRpcRST_descriptor_;
    metadata.reflection = PbRpcRST_reflection_;
    return metadata;
  }
  
  
  // ===================================================================
  
  #ifndef _MSC_VER
  const int PbRpcTccWrenPartitionClientPrepareRequestArg::kIdFieldNumber;
  const int PbRpcTccWrenPartitionClientPrepareRequestArg::kLDTFieldNumber;
  const int PbRpcTccWrenPartitionClientPrepareRequestArg::kRSTFieldNumber;
  const int PbRpcTccWrenPartitionClientPrepareRequestArg::kKeyFieldNumber;
  const int PbRpcTccWrenPartitionClientPrepareRequestArg::kValueFieldNumber;
  const int PbRpcTccWrenPartitionClientPrepareRequestArg::kSrcFieldNumber;
  #endif  // !_MSC_VER
  
  PbRpcTccWrenPartitionClientPrepareRequestArg::PbRpcTccWrenPartitionClientPrepareRequestArg()
    : ::google::protobuf::Message() {
    SharedCtor();
    // @@protoc_insertion_point(constructor:PbRpcTccWrenPartitionClientPrepareRequestArg)
  }
  
  void PbRpcTccWrenPartitionClientPrepareRequestArg::InitAsDefaultInstance() {
    ldt_ = const_cast< ::PbPhysicalTimeSpec*>(&::PbPhysicalTimeSpec::default_instance());
    rst_ = const_cast< ::PbPhysicalTimeSpec*>(&::PbPhysicalTimeSpec::default_instance());
  }
  
  PbRpcTccWrenPartitionClientPrepareRequestArg::PbRpcTccWrenPartitionClientPrepareRequestArg(const PbRpcTccWrenPartitionClientPrepareRequestArg& from)
    : ::google::protobuf::Message() {
    SharedCtor();
    MergeFrom(from);
    // @@protoc_insertion_point(copy_constructor:PbRpcTccWrenPartitionClientPrepareRequestArg)
  }
  
  void PbRpcTccWrenPartitionClientPrepareRequestArg::SharedCtor() {
    ::google::protobuf::internal::GetEmptyString();
    _cached_size_ = 0;
    id_ = GOOGLE_LONGLONG(0);
    ldt_ = NULL;
    rst_ = NULL;
    src_ = GOOGLE_LONGLONG(0);
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
  }
  
  PbRpcTccWrenPartitionClientPrepareRequestArg::~PbRpcTccWrenPartitionClientPrepareRequestArg() {
    // @@protoc_insertion_point(destructor:PbRpcTccWrenPartitionClientPrepareRequestArg)
    SharedDtor();
  }
  
  void PbRpcTccWrenPartitionClientPrepareRequestArg::SharedDtor() {
    if (this != default_instance_) {
      delete ldt_;
      delete rst_;
    }
  }
  
  void PbRpcTccWrenPartitionClientPrepareRequestArg::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* PbRpcTccWrenPartitionClientPrepareRequestArg::descriptor() {
    protobuf_AssignDescriptorsOnce();
    return PbRpcTccWrenPartitionClientPrepareRequestArg_descriptor_;
  }
  
  const PbRpcTccWrenPartitionClientPrepareRequestArg& PbRpcTccWrenPartitionClientPrepareRequestArg::default_instance() {
    if (default_instance_ == NULL) protobuf_AddDesc_tcc_5fwren_5fmessages_2eproto();
    return *default_instance_;
  }
  
  PbRpcTccWrenPartitionClientPrepareRequestArg* PbRpcTccWrenPartitionClientPrepareRequestArg::default_instance_ = NULL;
  
  PbRpcTccWrenPartitionClientPrepareRequestArg* PbRpcTccWrenPartitionClientPrepareRequestArg::New() const {
    return new PbRpcTccWrenPartitionClientPrepareRequestArg;
  }
  
  void PbRpcTccWrenPartitionClientPrepareRequestArg::Clear() {
    if (_has_bits_[0 / 32] & 39) {
      id_ = GOOGLE_LONGLONG(0);
      if (has_ldt()) {
        if (ldt_ != NULL) ldt_->::PbPhysicalTimeSpec::Clear();
      }
      if (has_rst()) {
        if (rst_ != NULL) rst_->::PbPhysicalTimeSpec::Clear();
      }
      src_ = GOOGLE_LONGLONG(0);
    }
    key_.Clear();
    value_.Clear();
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
    mutable_unknown_fields()->Clear();
  }
  
  bool PbRpcTccWrenPartitionClientPrepareRequestArg::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:PbRpcTccWrenPartitionClientPrepareRequestArg)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required int64 id = 1;
        case 1: {
          if (tag == 8) {
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                   input, &id_)));
            set_has_id();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(18)) goto parse_LDT;
          break;
        }
  
        // required .PbPhysicalTimeSpec LDT = 2;
        case 2: {
          if (tag == 18) {
           parse_LDT:
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                 input, mutable_ldt()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(26)) goto parse_RST;
          break;
        }
  
        // required .PbPhysicalTimeSpec RST = 3;
        case 3: {
          if (tag == 26) {
           parse_RST:
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                 input, mutable_rst()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(34)) goto parse_Key;
          break;
        }
  
        // repeated bytes Key = 4;
        case 4: {
          if (tag == 34) {
           parse_Key:
            DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                  input, this->add_key()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(34)) goto parse_Key;
          if (input->ExpectTag(42)) goto parse_Value;
          break;
        }
  
        // repeated bytes Value = 5;
        case 5: {
          if (tag == 42) {
           parse_Value:
            DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                  input, this->add_value()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(42)) goto parse_Value;
          if (input->ExpectTag(48)) goto parse_src;
          break;
        }
  
        // required int64 src = 6;
        case 6: {
          if (tag == 48) {
           parse_src:
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                   input, &src_)));
            set_has_src();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectAtEnd()) goto success;
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0 ||
              ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
              ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:PbRpcTccWrenPartitionClientPrepareRequestArg)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:PbRpcTccWrenPartitionClientPrepareRequestArg)
    return false;
  #undef DO_
  }
  
  void PbRpcTccWrenPartitionClientPrepareRequestArg::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:PbRpcTccWrenPartitionClientPrepareRequestArg)
    // required int64 id = 1;
    if (has_id()) {
      ::google::protobuf::internal::WireFormatLite::WriteInt64(1, this->id(), output);
    }
  
    // required .PbPhysicalTimeSpec LDT = 2;
    if (has_ldt()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        2, this->ldt(), output);
    }
  
    // required .PbPhysicalTimeSpec RST = 3;
    if (has_rst()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        3, this->rst(), output);
    }
  
    // repeated bytes Key = 4;
    for (int i = 0; i < this->key_size(); i++) {
      ::google::protobuf::internal::WireFormatLite::WriteBytes(
        4, this->key(i), output);
    }
  
    // repeated bytes Value = 5;
    for (int i = 0; i < this->value_size(); i++) {
      ::google::protobuf::internal::WireFormatLite::WriteBytes(
        5, this->value(i), output);
    }
  
    // required int64 src = 6;
    if (has_src()) {
      ::google::protobuf::internal::WireFormatLite::WriteInt64(6, this->src(), output);
    }
  
    if (!unknown_fields().empty()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:PbRpcTccWrenPartitionClientPrepareRequestArg)
  }
  
  ::google::protobuf::uint8* PbRpcTccWrenPartitionClientPrepareRequestArg::SerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:PbRpcTccWrenPartitionClientPrepareRequestArg)
    // required int64 id = 1;
    if (has_id()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(1, this->id(), target);
    }
  
    // required .PbPhysicalTimeSpec LDT = 2;
    if (has_ldt()) {
      target = ::google::protobuf::internal::WireFormatLite::
        WriteMessageNoVirtualToArray(
          2, this->ldt(), target);
    }
  
    // required .PbPhysicalTimeSpec RST = 3;
    if (has_rst()) {
      target = ::google::protobuf::internal::WireFormatLite::
        WriteMessageNoVirtualToArray(
          3, this->rst(), target);
    }
  
    // repeated bytes Key = 4;
    for (int i = 0; i < this->key_size(); i++) {
      target = ::google::protobuf::internal::WireFormatLite::
        WriteBytesToArray(4, this->key(i), target);
    }
  
    // repeated bytes Value = 5;
    for (int i = 0; i < this->value_size(); i++) {
      target = ::google::protobuf::internal::WireFormatLite::
        WriteBytesToArray(5, this->value(i), target);
    }
  
    // required int64 src = 6;
    if (has_src()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(6, this->src(), target);
    }
  
    if (!unknown_fields().empty()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:PbRpcTccWrenPartitionClientPrepareRequestArg)
    return target;
  }
  
  int PbRpcTccWrenPartitionClientPrepareRequestArg::ByteSize() const {
    int total_size = 0;
  
    if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      // required int64 id = 1;
      if (has_id()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::Int64Size(
            this->id());
      }
  
      // required .PbPhysicalTimeSpec LDT = 2;
      if (has_ldt()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
            this->ldt());
      }
  
      // required .PbPhysicalTimeSpec RST = 3;
      if (has_rst()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
            this->rst());
      }
  
      // required int64 src = 6;
      if (has_src()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::Int64Size(
            this->src());
      }
  
    }
    // repeated bytes Key = 4;
    total_size += 1 * this->key_size();
    for (int i = 0; i < this->key_size(); i++) {
      total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
        this->key(i));
    }
  
    // repeated bytes Value = 5;
    total_size += 1 * this->value_size();
    for (int i = 0; i < this->value_size(); i++) {
      total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
        this->value(i));
    }
  
    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 PbRpcTccWrenPartitionClientPrepareRequestArg::MergeFrom(const ::google::protobuf::Message& from) {
    GOOGLE_CHECK_NE(&from, this);
    const PbRpcTccWrenPartitionClientPrepareRequestArg* source =
      ::google::protobuf::internal::dynamic_cast_if_available<const PbRpcTccWrenPartitionClientPrepareRequestArg*>(
        &from);
    if (source == NULL) {
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
      MergeFrom(*source);
    }
  }
  
  void PbRpcTccWrenPartitionClientPrepareRequestArg::MergeFrom(const PbRpcTccWrenPartitionClientPrepareRequestArg& from) {
    GOOGLE_CHECK_NE(&from, this);
    key_.MergeFrom(from.key_);
    value_.MergeFrom(from.value_);
    if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      if (from.has_id()) {
        set_id(from.id());
      }
      if (from.has_ldt()) {
        mutable_ldt()->::PbPhysicalTimeSpec::MergeFrom(from.ldt());
      }
      if (from.has_rst()) {
        mutable_rst()->::PbPhysicalTimeSpec::MergeFrom(from.rst());
      }
      if (from.has_src()) {
        set_src(from.src());
      }
    }
    mutable_unknown_fields()->MergeFrom(from.unknown_fields());
  }
  
  void PbRpcTccWrenPartitionClientPrepareRequestArg::CopyFrom(const ::google::protobuf::Message& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void PbRpcTccWrenPartitionClientPrepareRequestArg::CopyFrom(const PbRpcTccWrenPartitionClientPrepareRequestArg& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool PbRpcTccWrenPartitionClientPrepareRequestArg::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000027) != 0x00000027) return false;
  
    if (has_ldt()) {
      if (!this->ldt().IsInitialized()) return false;
    }
    if (has_rst()) {
      if (!this->rst().IsInitialized()) return false;
    }
    return true;
  }
  
  void PbRpcTccWrenPartitionClientPrepareRequestArg::Swap(PbRpcTccWrenPartitionClientPrepareRequestArg* other) {
    if (other != this) {
      std::swap(id_, other->id_);
      std::swap(ldt_, other->ldt_);
      std::swap(rst_, other->rst_);
      key_.Swap(&other->key_);
      value_.Swap(&other->value_);
      std::swap(src_, other->src_);
      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 PbRpcTccWrenPartitionClientPrepareRequestArg::GetMetadata() const {
    protobuf_AssignDescriptorsOnce();
    ::google::protobuf::Metadata metadata;
    metadata.descriptor = PbRpcTccWrenPartitionClientPrepareRequestArg_descriptor_;
    metadata.reflection = PbRpcTccWrenPartitionClientPrepareRequestArg_reflection_;
    return metadata;
  }
  
  
  // @@protoc_insertion_point(namespace_scope)
  
  // @@protoc_insertion_point(global_scope)
  