// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: etcd_meta.proto

#include "etcd_meta.pb.h"

#include <algorithm>

#include <google/protobuf/stubs/common.h>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/wire_format_lite.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)
#include <google/protobuf/port_def.inc>
extern PROTOBUF_INTERNAL_EXPORT_common_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Address_common_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_schema_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_CollectionSchema_schema_2eproto;
namespace milvus {
namespace proto {
namespace etcd {
class TenantMetaDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<TenantMeta> _instance;
} _TenantMeta_default_instance_;
class ProxyMetaDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ProxyMeta> _instance;
} _ProxyMeta_default_instance_;
class CollectionMetaDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CollectionMeta> _instance;
} _CollectionMeta_default_instance_;
class SegmentMetaDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<SegmentMeta> _instance;
} _SegmentMeta_default_instance_;
}  // namespace etcd
}  // namespace proto
}  // namespace milvus
static void InitDefaultsscc_info_CollectionMeta_etcd_5fmeta_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::milvus::proto::etcd::_CollectionMeta_default_instance_;
    new (ptr) ::milvus::proto::etcd::CollectionMeta();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::milvus::proto::etcd::CollectionMeta::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_CollectionMeta_etcd_5fmeta_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsscc_info_CollectionMeta_etcd_5fmeta_2eproto}, {
      &scc_info_CollectionSchema_schema_2eproto.base,}};

static void InitDefaultsscc_info_ProxyMeta_etcd_5fmeta_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::milvus::proto::etcd::_ProxyMeta_default_instance_;
    new (ptr) ::milvus::proto::etcd::ProxyMeta();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::milvus::proto::etcd::ProxyMeta::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_ProxyMeta_etcd_5fmeta_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsscc_info_ProxyMeta_etcd_5fmeta_2eproto}, {
      &scc_info_Address_common_2eproto.base,}};

static void InitDefaultsscc_info_SegmentMeta_etcd_5fmeta_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::milvus::proto::etcd::_SegmentMeta_default_instance_;
    new (ptr) ::milvus::proto::etcd::SegmentMeta();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::milvus::proto::etcd::SegmentMeta::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_SegmentMeta_etcd_5fmeta_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsscc_info_SegmentMeta_etcd_5fmeta_2eproto}, {}};

static void InitDefaultsscc_info_TenantMeta_etcd_5fmeta_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::milvus::proto::etcd::_TenantMeta_default_instance_;
    new (ptr) ::milvus::proto::etcd::TenantMeta();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::milvus::proto::etcd::TenantMeta::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_TenantMeta_etcd_5fmeta_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsscc_info_TenantMeta_etcd_5fmeta_2eproto}, {}};

static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_etcd_5fmeta_2eproto[4];
static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_etcd_5fmeta_2eproto = nullptr;
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_etcd_5fmeta_2eproto = nullptr;

const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_etcd_5fmeta_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::TenantMeta, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::TenantMeta, id_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::TenantMeta, num_query_nodes_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::TenantMeta, insert_channelids_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::TenantMeta, query_channelid_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::ProxyMeta, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::ProxyMeta, id_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::ProxyMeta, address_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::ProxyMeta, result_channelids_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionMeta, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionMeta, id_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionMeta, schema_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionMeta, create_time_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionMeta, segmentids_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionMeta, partition_tags_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::SegmentMeta, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::SegmentMeta, segmentid_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::SegmentMeta, collectionid_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::SegmentMeta, partition_tag_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::SegmentMeta, channel_start_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::SegmentMeta, channel_end_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::SegmentMeta, open_time_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::SegmentMeta, close_time_),
  PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::SegmentMeta, num_rows_),
};
static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  { 0, -1, sizeof(::milvus::proto::etcd::TenantMeta)},
  { 9, -1, sizeof(::milvus::proto::etcd::ProxyMeta)},
  { 17, -1, sizeof(::milvus::proto::etcd::CollectionMeta)},
  { 27, -1, sizeof(::milvus::proto::etcd::SegmentMeta)},
};

static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::etcd::_TenantMeta_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::etcd::_ProxyMeta_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::etcd::_CollectionMeta_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::etcd::_SegmentMeta_default_instance_),
};

const char descriptor_table_protodef_etcd_5fmeta_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
  "\n\017etcd_meta.proto\022\021milvus.proto.etcd\032\014co"
  "mmon.proto\032\014schema.proto\"e\n\nTenantMeta\022\n"
  "\n\002ID\030\001 \001(\003\022\027\n\017num_query_nodes\030\002 \001(\003\022\031\n\021i"
  "nsert_channelIDs\030\003 \003(\t\022\027\n\017query_channelI"
  "D\030\004 \001(\t\"a\n\tProxyMeta\022\n\n\002ID\030\001 \001(\003\022-\n\007addr"
  "ess\030\002 \001(\0132\034.milvus.proto.common.Address\022"
  "\031\n\021result_channelIDs\030\003 \003(\t\"\224\001\n\016Collectio"
  "nMeta\022\n\n\002ID\030\001 \001(\003\0225\n\006schema\030\002 \001(\0132%.milv"
  "us.proto.schema.CollectionSchema\022\023\n\013crea"
  "te_time\030\003 \001(\004\022\022\n\nsegmentIDs\030\004 \003(\003\022\026\n\016par"
  "tition_tags\030\005 \003(\t\"\262\001\n\013SegmentMeta\022\021\n\tseg"
  "mentID\030\001 \001(\003\022\024\n\014collectionID\030\002 \001(\003\022\025\n\rpa"
  "rtition_tag\030\003 \001(\t\022\025\n\rchannel_start\030\004 \001(\005"
  "\022\023\n\013channel_end\030\005 \001(\005\022\021\n\topen_time\030\006 \001(\004"
  "\022\022\n\nclose_time\030\007 \001(\004\022\020\n\010num_rows\030\010 \001(\003B@"
  "Z>github.com/zilliztech/milvus-distribut"
  "ed/internal/proto/etcdpbb\006proto3"
  ;
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_etcd_5fmeta_2eproto_deps[2] = {
  &::descriptor_table_common_2eproto,
  &::descriptor_table_schema_2eproto,
};
static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_etcd_5fmeta_2eproto_sccs[4] = {
  &scc_info_CollectionMeta_etcd_5fmeta_2eproto.base,
  &scc_info_ProxyMeta_etcd_5fmeta_2eproto.base,
  &scc_info_SegmentMeta_etcd_5fmeta_2eproto.base,
  &scc_info_TenantMeta_etcd_5fmeta_2eproto.base,
};
static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_etcd_5fmeta_2eproto_once;
static bool descriptor_table_etcd_5fmeta_2eproto_initialized = false;
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_etcd_5fmeta_2eproto = {
  &descriptor_table_etcd_5fmeta_2eproto_initialized, descriptor_table_protodef_etcd_5fmeta_2eproto, "etcd_meta.proto", 672,
  &descriptor_table_etcd_5fmeta_2eproto_once, descriptor_table_etcd_5fmeta_2eproto_sccs, descriptor_table_etcd_5fmeta_2eproto_deps, 4, 2,
  schemas, file_default_instances, TableStruct_etcd_5fmeta_2eproto::offsets,
  file_level_metadata_etcd_5fmeta_2eproto, 4, file_level_enum_descriptors_etcd_5fmeta_2eproto, file_level_service_descriptors_etcd_5fmeta_2eproto,
};

// Force running AddDescriptors() at dynamic initialization time.
static bool dynamic_init_dummy_etcd_5fmeta_2eproto = (  ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptors(&descriptor_table_etcd_5fmeta_2eproto), true);
namespace milvus {
namespace proto {
namespace etcd {

// ===================================================================

void TenantMeta::InitAsDefaultInstance() {
}
class TenantMeta::_Internal {
 public:
};

TenantMeta::TenantMeta()
  : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:milvus.proto.etcd.TenantMeta)
}
TenantMeta::TenantMeta(const TenantMeta& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _internal_metadata_(nullptr),
      insert_channelids_(from.insert_channelids_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  query_channelid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from.query_channelid().empty()) {
    query_channelid_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.query_channelid_);
  }
  ::memcpy(&id_, &from.id_,
    static_cast<size_t>(reinterpret_cast<char*>(&num_query_nodes_) -
    reinterpret_cast<char*>(&id_)) + sizeof(num_query_nodes_));
  // @@protoc_insertion_point(copy_constructor:milvus.proto.etcd.TenantMeta)
}

void TenantMeta::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_TenantMeta_etcd_5fmeta_2eproto.base);
  query_channelid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(&id_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&num_query_nodes_) -
      reinterpret_cast<char*>(&id_)) + sizeof(num_query_nodes_));
}

TenantMeta::~TenantMeta() {
  // @@protoc_insertion_point(destructor:milvus.proto.etcd.TenantMeta)
  SharedDtor();
}

void TenantMeta::SharedDtor() {
  query_channelid_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void TenantMeta::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const TenantMeta& TenantMeta::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_TenantMeta_etcd_5fmeta_2eproto.base);
  return *internal_default_instance();
}


void TenantMeta::Clear() {
// @@protoc_insertion_point(message_clear_start:milvus.proto.etcd.TenantMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  insert_channelids_.Clear();
  query_channelid_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(&id_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&num_query_nodes_) -
      reinterpret_cast<char*>(&id_)) + sizeof(num_query_nodes_));
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* TenantMeta::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // int64 ID = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int64 num_query_nodes = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          num_query_nodes_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated string insert_channelIDs = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(add_insert_channelids(), ptr, ctx, "milvus.proto.etcd.TenantMeta.insert_channelIDs");
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 26);
        } else goto handle_unusual;
        continue;
      // string query_channelID = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_query_channelid(), ptr, ctx, "milvus.proto.etcd.TenantMeta.query_channelID");
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool TenantMeta::MergePartialFromCodedStream(
    ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
  // @@protoc_insertion_point(parse_start:milvus.proto.etcd.TenantMeta)
  for (;;) {
    ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // int64 ID = 1;
      case 1: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (8 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, &id_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int64 num_query_nodes = 2;
      case 2: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, &num_query_nodes_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated string insert_channelIDs = 3;
      case 3: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (26 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString(
                input, this->add_insert_channelids()));
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
            this->insert_channelids(this->insert_channelids_size() - 1).data(),
            static_cast<int>(this->insert_channelids(this->insert_channelids_size() - 1).length()),
            ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE,
            "milvus.proto.etcd.TenantMeta.insert_channelIDs"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // string query_channelID = 4;
      case 4: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (34 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString(
                input, this->mutable_query_channelid()));
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
            this->query_channelid().data(), static_cast<int>(this->query_channelid().length()),
            ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE,
            "milvus.proto.etcd.TenantMeta.query_channelID"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:milvus.proto.etcd.TenantMeta)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:milvus.proto.etcd.TenantMeta)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void TenantMeta::SerializeWithCachedSizes(
    ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:milvus.proto.etcd.TenantMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 ID = 1;
  if (this->id() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(1, this->id(), output);
  }

  // int64 num_query_nodes = 2;
  if (this->num_query_nodes() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(2, this->num_query_nodes(), output);
  }

  // repeated string insert_channelIDs = 3;
  for (int i = 0, n = this->insert_channelids_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->insert_channelids(i).data(), static_cast<int>(this->insert_channelids(i).length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.TenantMeta.insert_channelIDs");
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteString(
      3, this->insert_channelids(i), output);
  }

  // string query_channelID = 4;
  if (this->query_channelid().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->query_channelid().data(), static_cast<int>(this->query_channelid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.TenantMeta.query_channelID");
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringMaybeAliased(
      4, this->query_channelid(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:milvus.proto.etcd.TenantMeta)
}

::PROTOBUF_NAMESPACE_ID::uint8* TenantMeta::InternalSerializeWithCachedSizesToArray(
    ::PROTOBUF_NAMESPACE_ID::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:milvus.proto.etcd.TenantMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 ID = 1;
  if (this->id() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(1, this->id(), target);
  }

  // int64 num_query_nodes = 2;
  if (this->num_query_nodes() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->num_query_nodes(), target);
  }

  // repeated string insert_channelIDs = 3;
  for (int i = 0, n = this->insert_channelids_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->insert_channelids(i).data(), static_cast<int>(this->insert_channelids(i).length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.TenantMeta.insert_channelIDs");
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      WriteStringToArray(3, this->insert_channelids(i), target);
  }

  // string query_channelID = 4;
  if (this->query_channelid().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->query_channelid().data(), static_cast<int>(this->query_channelid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.TenantMeta.query_channelID");
    target =
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringToArray(
        4, this->query_channelid(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:milvus.proto.etcd.TenantMeta)
  return target;
}

size_t TenantMeta::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:milvus.proto.etcd.TenantMeta)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated string insert_channelIDs = 3;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->insert_channelids_size());
  for (int i = 0, n = this->insert_channelids_size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
      this->insert_channelids(i));
  }

  // string query_channelID = 4;
  if (this->query_channelid().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->query_channelid());
  }

  // int64 ID = 1;
  if (this->id() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->id());
  }

  // int64 num_query_nodes = 2;
  if (this->num_query_nodes() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->num_query_nodes());
  }

  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void TenantMeta::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:milvus.proto.etcd.TenantMeta)
  GOOGLE_DCHECK_NE(&from, this);
  const TenantMeta* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TenantMeta>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.proto.etcd.TenantMeta)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.proto.etcd.TenantMeta)
    MergeFrom(*source);
  }
}

void TenantMeta::MergeFrom(const TenantMeta& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:milvus.proto.etcd.TenantMeta)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  insert_channelids_.MergeFrom(from.insert_channelids_);
  if (from.query_channelid().size() > 0) {

    query_channelid_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.query_channelid_);
  }
  if (from.id() != 0) {
    set_id(from.id());
  }
  if (from.num_query_nodes() != 0) {
    set_num_query_nodes(from.num_query_nodes());
  }
}

void TenantMeta::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:milvus.proto.etcd.TenantMeta)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void TenantMeta::CopyFrom(const TenantMeta& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:milvus.proto.etcd.TenantMeta)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool TenantMeta::IsInitialized() const {
  return true;
}

void TenantMeta::InternalSwap(TenantMeta* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  insert_channelids_.InternalSwap(CastToBase(&other->insert_channelids_));
  query_channelid_.Swap(&other->query_channelid_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  swap(id_, other->id_);
  swap(num_query_nodes_, other->num_query_nodes_);
}

::PROTOBUF_NAMESPACE_ID::Metadata TenantMeta::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

void ProxyMeta::InitAsDefaultInstance() {
  ::milvus::proto::etcd::_ProxyMeta_default_instance_._instance.get_mutable()->address_ = const_cast< ::milvus::proto::common::Address*>(
      ::milvus::proto::common::Address::internal_default_instance());
}
class ProxyMeta::_Internal {
 public:
  static const ::milvus::proto::common::Address& address(const ProxyMeta* msg);
};

const ::milvus::proto::common::Address&
ProxyMeta::_Internal::address(const ProxyMeta* msg) {
  return *msg->address_;
}
void ProxyMeta::clear_address() {
  if (GetArenaNoVirtual() == nullptr && address_ != nullptr) {
    delete address_;
  }
  address_ = nullptr;
}
ProxyMeta::ProxyMeta()
  : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:milvus.proto.etcd.ProxyMeta)
}
ProxyMeta::ProxyMeta(const ProxyMeta& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _internal_metadata_(nullptr),
      result_channelids_(from.result_channelids_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  if (from.has_address()) {
    address_ = new ::milvus::proto::common::Address(*from.address_);
  } else {
    address_ = nullptr;
  }
  id_ = from.id_;
  // @@protoc_insertion_point(copy_constructor:milvus.proto.etcd.ProxyMeta)
}

void ProxyMeta::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_ProxyMeta_etcd_5fmeta_2eproto.base);
  ::memset(&address_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&id_) -
      reinterpret_cast<char*>(&address_)) + sizeof(id_));
}

ProxyMeta::~ProxyMeta() {
  // @@protoc_insertion_point(destructor:milvus.proto.etcd.ProxyMeta)
  SharedDtor();
}

void ProxyMeta::SharedDtor() {
  if (this != internal_default_instance()) delete address_;
}

void ProxyMeta::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ProxyMeta& ProxyMeta::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_ProxyMeta_etcd_5fmeta_2eproto.base);
  return *internal_default_instance();
}


void ProxyMeta::Clear() {
// @@protoc_insertion_point(message_clear_start:milvus.proto.etcd.ProxyMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  result_channelids_.Clear();
  if (GetArenaNoVirtual() == nullptr && address_ != nullptr) {
    delete address_;
  }
  address_ = nullptr;
  id_ = PROTOBUF_LONGLONG(0);
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* ProxyMeta::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // int64 ID = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .milvus.proto.common.Address address = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(mutable_address(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated string result_channelIDs = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(add_result_channelids(), ptr, ctx, "milvus.proto.etcd.ProxyMeta.result_channelIDs");
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 26);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool ProxyMeta::MergePartialFromCodedStream(
    ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
  // @@protoc_insertion_point(parse_start:milvus.proto.etcd.ProxyMeta)
  for (;;) {
    ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // int64 ID = 1;
      case 1: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (8 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, &id_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .milvus.proto.common.Address address = 2;
      case 2: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (18 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
               input, mutable_address()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated string result_channelIDs = 3;
      case 3: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (26 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString(
                input, this->add_result_channelids()));
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
            this->result_channelids(this->result_channelids_size() - 1).data(),
            static_cast<int>(this->result_channelids(this->result_channelids_size() - 1).length()),
            ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE,
            "milvus.proto.etcd.ProxyMeta.result_channelIDs"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:milvus.proto.etcd.ProxyMeta)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:milvus.proto.etcd.ProxyMeta)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void ProxyMeta::SerializeWithCachedSizes(
    ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:milvus.proto.etcd.ProxyMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 ID = 1;
  if (this->id() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(1, this->id(), output);
  }

  // .milvus.proto.common.Address address = 2;
  if (this->has_address()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
      2, _Internal::address(this), output);
  }

  // repeated string result_channelIDs = 3;
  for (int i = 0, n = this->result_channelids_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->result_channelids(i).data(), static_cast<int>(this->result_channelids(i).length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.ProxyMeta.result_channelIDs");
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteString(
      3, this->result_channelids(i), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:milvus.proto.etcd.ProxyMeta)
}

::PROTOBUF_NAMESPACE_ID::uint8* ProxyMeta::InternalSerializeWithCachedSizesToArray(
    ::PROTOBUF_NAMESPACE_ID::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:milvus.proto.etcd.ProxyMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 ID = 1;
  if (this->id() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(1, this->id(), target);
  }

  // .milvus.proto.common.Address address = 2;
  if (this->has_address()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessageToArray(
        2, _Internal::address(this), target);
  }

  // repeated string result_channelIDs = 3;
  for (int i = 0, n = this->result_channelids_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->result_channelids(i).data(), static_cast<int>(this->result_channelids(i).length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.ProxyMeta.result_channelIDs");
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      WriteStringToArray(3, this->result_channelids(i), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:milvus.proto.etcd.ProxyMeta)
  return target;
}

size_t ProxyMeta::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:milvus.proto.etcd.ProxyMeta)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated string result_channelIDs = 3;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->result_channelids_size());
  for (int i = 0, n = this->result_channelids_size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
      this->result_channelids(i));
  }

  // .milvus.proto.common.Address address = 2;
  if (this->has_address()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *address_);
  }

  // int64 ID = 1;
  if (this->id() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->id());
  }

  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void ProxyMeta::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:milvus.proto.etcd.ProxyMeta)
  GOOGLE_DCHECK_NE(&from, this);
  const ProxyMeta* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ProxyMeta>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.proto.etcd.ProxyMeta)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.proto.etcd.ProxyMeta)
    MergeFrom(*source);
  }
}

void ProxyMeta::MergeFrom(const ProxyMeta& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:milvus.proto.etcd.ProxyMeta)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  result_channelids_.MergeFrom(from.result_channelids_);
  if (from.has_address()) {
    mutable_address()->::milvus::proto::common::Address::MergeFrom(from.address());
  }
  if (from.id() != 0) {
    set_id(from.id());
  }
}

void ProxyMeta::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:milvus.proto.etcd.ProxyMeta)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ProxyMeta::CopyFrom(const ProxyMeta& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:milvus.proto.etcd.ProxyMeta)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ProxyMeta::IsInitialized() const {
  return true;
}

void ProxyMeta::InternalSwap(ProxyMeta* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  result_channelids_.InternalSwap(CastToBase(&other->result_channelids_));
  swap(address_, other->address_);
  swap(id_, other->id_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ProxyMeta::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

void CollectionMeta::InitAsDefaultInstance() {
  ::milvus::proto::etcd::_CollectionMeta_default_instance_._instance.get_mutable()->schema_ = const_cast< ::milvus::proto::schema::CollectionSchema*>(
      ::milvus::proto::schema::CollectionSchema::internal_default_instance());
}
class CollectionMeta::_Internal {
 public:
  static const ::milvus::proto::schema::CollectionSchema& schema(const CollectionMeta* msg);
};

const ::milvus::proto::schema::CollectionSchema&
CollectionMeta::_Internal::schema(const CollectionMeta* msg) {
  return *msg->schema_;
}
void CollectionMeta::clear_schema() {
  if (GetArenaNoVirtual() == nullptr && schema_ != nullptr) {
    delete schema_;
  }
  schema_ = nullptr;
}
CollectionMeta::CollectionMeta()
  : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:milvus.proto.etcd.CollectionMeta)
}
CollectionMeta::CollectionMeta(const CollectionMeta& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _internal_metadata_(nullptr),
      segmentids_(from.segmentids_),
      partition_tags_(from.partition_tags_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  if (from.has_schema()) {
    schema_ = new ::milvus::proto::schema::CollectionSchema(*from.schema_);
  } else {
    schema_ = nullptr;
  }
  ::memcpy(&id_, &from.id_,
    static_cast<size_t>(reinterpret_cast<char*>(&create_time_) -
    reinterpret_cast<char*>(&id_)) + sizeof(create_time_));
  // @@protoc_insertion_point(copy_constructor:milvus.proto.etcd.CollectionMeta)
}

void CollectionMeta::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_CollectionMeta_etcd_5fmeta_2eproto.base);
  ::memset(&schema_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&create_time_) -
      reinterpret_cast<char*>(&schema_)) + sizeof(create_time_));
}

CollectionMeta::~CollectionMeta() {
  // @@protoc_insertion_point(destructor:milvus.proto.etcd.CollectionMeta)
  SharedDtor();
}

void CollectionMeta::SharedDtor() {
  if (this != internal_default_instance()) delete schema_;
}

void CollectionMeta::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CollectionMeta& CollectionMeta::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_CollectionMeta_etcd_5fmeta_2eproto.base);
  return *internal_default_instance();
}


void CollectionMeta::Clear() {
// @@protoc_insertion_point(message_clear_start:milvus.proto.etcd.CollectionMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  segmentids_.Clear();
  partition_tags_.Clear();
  if (GetArenaNoVirtual() == nullptr && schema_ != nullptr) {
    delete schema_;
  }
  schema_ = nullptr;
  ::memset(&id_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&create_time_) -
      reinterpret_cast<char*>(&id_)) + sizeof(create_time_));
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* CollectionMeta::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // int64 ID = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .milvus.proto.schema.CollectionSchema schema = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(mutable_schema(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint64 create_time = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          create_time_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated int64 segmentIDs = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(mutable_segmentids(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32) {
          add_segmentids(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated string partition_tags = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(add_partition_tags(), ptr, ctx, "milvus.proto.etcd.CollectionMeta.partition_tags");
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 42);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool CollectionMeta::MergePartialFromCodedStream(
    ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
  // @@protoc_insertion_point(parse_start:milvus.proto.etcd.CollectionMeta)
  for (;;) {
    ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // int64 ID = 1;
      case 1: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (8 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, &id_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .milvus.proto.schema.CollectionSchema schema = 2;
      case 2: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (18 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
               input, mutable_schema()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // uint64 create_time = 3;
      case 3: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (24 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::uint64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT64>(
                 input, &create_time_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated int64 segmentIDs = 4;
      case 4: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (34 & 0xFF)) {
          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPackedPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, this->mutable_segmentids())));
        } else if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (32 & 0xFF)) {
          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 1, 34u, input, this->mutable_segmentids())));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated string partition_tags = 5;
      case 5: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (42 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString(
                input, this->add_partition_tags()));
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
            this->partition_tags(this->partition_tags_size() - 1).data(),
            static_cast<int>(this->partition_tags(this->partition_tags_size() - 1).length()),
            ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE,
            "milvus.proto.etcd.CollectionMeta.partition_tags"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:milvus.proto.etcd.CollectionMeta)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:milvus.proto.etcd.CollectionMeta)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void CollectionMeta::SerializeWithCachedSizes(
    ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:milvus.proto.etcd.CollectionMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 ID = 1;
  if (this->id() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(1, this->id(), output);
  }

  // .milvus.proto.schema.CollectionSchema schema = 2;
  if (this->has_schema()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
      2, _Internal::schema(this), output);
  }

  // uint64 create_time = 3;
  if (this->create_time() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64(3, this->create_time(), output);
  }

  // repeated int64 segmentIDs = 4;
  if (this->segmentids_size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTag(4, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
    output->WriteVarint32(_segmentids_cached_byte_size_.load(
        std::memory_order_relaxed));
  }
  for (int i = 0, n = this->segmentids_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64NoTag(
      this->segmentids(i), output);
  }

  // repeated string partition_tags = 5;
  for (int i = 0, n = this->partition_tags_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->partition_tags(i).data(), static_cast<int>(this->partition_tags(i).length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.CollectionMeta.partition_tags");
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteString(
      5, this->partition_tags(i), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:milvus.proto.etcd.CollectionMeta)
}

::PROTOBUF_NAMESPACE_ID::uint8* CollectionMeta::InternalSerializeWithCachedSizesToArray(
    ::PROTOBUF_NAMESPACE_ID::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:milvus.proto.etcd.CollectionMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 ID = 1;
  if (this->id() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(1, this->id(), target);
  }

  // .milvus.proto.schema.CollectionSchema schema = 2;
  if (this->has_schema()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessageToArray(
        2, _Internal::schema(this), target);
  }

  // uint64 create_time = 3;
  if (this->create_time() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(3, this->create_time(), target);
  }

  // repeated int64 segmentIDs = 4;
  if (this->segmentids_size() > 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTagToArray(
      4,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
      target);
    target = ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream::WriteVarint32ToArray(
        _segmentids_cached_byte_size_.load(std::memory_order_relaxed),
         target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      WriteInt64NoTagToArray(this->segmentids_, target);
  }

  // repeated string partition_tags = 5;
  for (int i = 0, n = this->partition_tags_size(); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->partition_tags(i).data(), static_cast<int>(this->partition_tags(i).length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.CollectionMeta.partition_tags");
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      WriteStringToArray(5, this->partition_tags(i), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:milvus.proto.etcd.CollectionMeta)
  return target;
}

size_t CollectionMeta::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:milvus.proto.etcd.CollectionMeta)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated int64 segmentIDs = 4;
  {
    size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      Int64Size(this->segmentids_);
    if (data_size > 0) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
            static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
    }
    int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
    _segmentids_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated string partition_tags = 5;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->partition_tags_size());
  for (int i = 0, n = this->partition_tags_size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
      this->partition_tags(i));
  }

  // .milvus.proto.schema.CollectionSchema schema = 2;
  if (this->has_schema()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *schema_);
  }

  // int64 ID = 1;
  if (this->id() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->id());
  }

  // uint64 create_time = 3;
  if (this->create_time() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
        this->create_time());
  }

  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CollectionMeta::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:milvus.proto.etcd.CollectionMeta)
  GOOGLE_DCHECK_NE(&from, this);
  const CollectionMeta* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CollectionMeta>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.proto.etcd.CollectionMeta)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.proto.etcd.CollectionMeta)
    MergeFrom(*source);
  }
}

void CollectionMeta::MergeFrom(const CollectionMeta& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:milvus.proto.etcd.CollectionMeta)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  segmentids_.MergeFrom(from.segmentids_);
  partition_tags_.MergeFrom(from.partition_tags_);
  if (from.has_schema()) {
    mutable_schema()->::milvus::proto::schema::CollectionSchema::MergeFrom(from.schema());
  }
  if (from.id() != 0) {
    set_id(from.id());
  }
  if (from.create_time() != 0) {
    set_create_time(from.create_time());
  }
}

void CollectionMeta::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:milvus.proto.etcd.CollectionMeta)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CollectionMeta::CopyFrom(const CollectionMeta& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:milvus.proto.etcd.CollectionMeta)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CollectionMeta::IsInitialized() const {
  return true;
}

void CollectionMeta::InternalSwap(CollectionMeta* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  segmentids_.InternalSwap(&other->segmentids_);
  partition_tags_.InternalSwap(CastToBase(&other->partition_tags_));
  swap(schema_, other->schema_);
  swap(id_, other->id_);
  swap(create_time_, other->create_time_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CollectionMeta::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

void SegmentMeta::InitAsDefaultInstance() {
}
class SegmentMeta::_Internal {
 public:
};

SegmentMeta::SegmentMeta()
  : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:milvus.proto.etcd.SegmentMeta)
}
SegmentMeta::SegmentMeta(const SegmentMeta& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _internal_metadata_(nullptr) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  partition_tag_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from.partition_tag().empty()) {
    partition_tag_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.partition_tag_);
  }
  ::memcpy(&segmentid_, &from.segmentid_,
    static_cast<size_t>(reinterpret_cast<char*>(&num_rows_) -
    reinterpret_cast<char*>(&segmentid_)) + sizeof(num_rows_));
  // @@protoc_insertion_point(copy_constructor:milvus.proto.etcd.SegmentMeta)
}

void SegmentMeta::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_SegmentMeta_etcd_5fmeta_2eproto.base);
  partition_tag_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(&segmentid_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&num_rows_) -
      reinterpret_cast<char*>(&segmentid_)) + sizeof(num_rows_));
}

SegmentMeta::~SegmentMeta() {
  // @@protoc_insertion_point(destructor:milvus.proto.etcd.SegmentMeta)
  SharedDtor();
}

void SegmentMeta::SharedDtor() {
  partition_tag_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void SegmentMeta::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const SegmentMeta& SegmentMeta::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_SegmentMeta_etcd_5fmeta_2eproto.base);
  return *internal_default_instance();
}


void SegmentMeta::Clear() {
// @@protoc_insertion_point(message_clear_start:milvus.proto.etcd.SegmentMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  partition_tag_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(&segmentid_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&num_rows_) -
      reinterpret_cast<char*>(&segmentid_)) + sizeof(num_rows_));
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* SegmentMeta::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // int64 segmentID = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          segmentid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int64 collectionID = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          collectionid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string partition_tag = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_partition_tag(), ptr, ctx, "milvus.proto.etcd.SegmentMeta.partition_tag");
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 channel_start = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          channel_start_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 channel_end = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          channel_end_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint64 open_time = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          open_time_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint64 close_time = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          close_time_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int64 num_rows = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          num_rows_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool SegmentMeta::MergePartialFromCodedStream(
    ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
  // @@protoc_insertion_point(parse_start:milvus.proto.etcd.SegmentMeta)
  for (;;) {
    ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // int64 segmentID = 1;
      case 1: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (8 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, &segmentid_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int64 collectionID = 2;
      case 2: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, &collectionid_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // string partition_tag = 3;
      case 3: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (26 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString(
                input, this->mutable_partition_tag()));
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
            this->partition_tag().data(), static_cast<int>(this->partition_tag().length()),
            ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE,
            "milvus.proto.etcd.SegmentMeta.partition_tag"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int32 channel_start = 4;
      case 4: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (32 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int32, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT32>(
                 input, &channel_start_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int32 channel_end = 5;
      case 5: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (40 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int32, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT32>(
                 input, &channel_end_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // uint64 open_time = 6;
      case 6: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (48 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::uint64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT64>(
                 input, &open_time_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // uint64 close_time = 7;
      case 7: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (56 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::uint64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT64>(
                 input, &close_time_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int64 num_rows = 8;
      case 8: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (64 & 0xFF)) {

          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
                 input, &num_rows_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:milvus.proto.etcd.SegmentMeta)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:milvus.proto.etcd.SegmentMeta)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void SegmentMeta::SerializeWithCachedSizes(
    ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:milvus.proto.etcd.SegmentMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 segmentID = 1;
  if (this->segmentid() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(1, this->segmentid(), output);
  }

  // int64 collectionID = 2;
  if (this->collectionid() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(2, this->collectionid(), output);
  }

  // string partition_tag = 3;
  if (this->partition_tag().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->partition_tag().data(), static_cast<int>(this->partition_tag().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.SegmentMeta.partition_tag");
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringMaybeAliased(
      3, this->partition_tag(), output);
  }

  // int32 channel_start = 4;
  if (this->channel_start() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32(4, this->channel_start(), output);
  }

  // int32 channel_end = 5;
  if (this->channel_end() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32(5, this->channel_end(), output);
  }

  // uint64 open_time = 6;
  if (this->open_time() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64(6, this->open_time(), output);
  }

  // uint64 close_time = 7;
  if (this->close_time() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64(7, this->close_time(), output);
  }

  // int64 num_rows = 8;
  if (this->num_rows() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(8, this->num_rows(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:milvus.proto.etcd.SegmentMeta)
}

::PROTOBUF_NAMESPACE_ID::uint8* SegmentMeta::InternalSerializeWithCachedSizesToArray(
    ::PROTOBUF_NAMESPACE_ID::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:milvus.proto.etcd.SegmentMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 segmentID = 1;
  if (this->segmentid() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(1, this->segmentid(), target);
  }

  // int64 collectionID = 2;
  if (this->collectionid() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->collectionid(), target);
  }

  // string partition_tag = 3;
  if (this->partition_tag().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->partition_tag().data(), static_cast<int>(this->partition_tag().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "milvus.proto.etcd.SegmentMeta.partition_tag");
    target =
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringToArray(
        3, this->partition_tag(), target);
  }

  // int32 channel_start = 4;
  if (this->channel_start() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->channel_start(), target);
  }

  // int32 channel_end = 5;
  if (this->channel_end() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->channel_end(), target);
  }

  // uint64 open_time = 6;
  if (this->open_time() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(6, this->open_time(), target);
  }

  // uint64 close_time = 7;
  if (this->close_time() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(7, this->close_time(), target);
  }

  // int64 num_rows = 8;
  if (this->num_rows() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(8, this->num_rows(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:milvus.proto.etcd.SegmentMeta)
  return target;
}

size_t SegmentMeta::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:milvus.proto.etcd.SegmentMeta)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string partition_tag = 3;
  if (this->partition_tag().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->partition_tag());
  }

  // int64 segmentID = 1;
  if (this->segmentid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->segmentid());
  }

  // int64 collectionID = 2;
  if (this->collectionid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->collectionid());
  }

  // int32 channel_start = 4;
  if (this->channel_start() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->channel_start());
  }

  // int32 channel_end = 5;
  if (this->channel_end() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->channel_end());
  }

  // uint64 open_time = 6;
  if (this->open_time() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
        this->open_time());
  }

  // uint64 close_time = 7;
  if (this->close_time() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
        this->close_time());
  }

  // int64 num_rows = 8;
  if (this->num_rows() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->num_rows());
  }

  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void SegmentMeta::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:milvus.proto.etcd.SegmentMeta)
  GOOGLE_DCHECK_NE(&from, this);
  const SegmentMeta* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<SegmentMeta>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.proto.etcd.SegmentMeta)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.proto.etcd.SegmentMeta)
    MergeFrom(*source);
  }
}

void SegmentMeta::MergeFrom(const SegmentMeta& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:milvus.proto.etcd.SegmentMeta)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.partition_tag().size() > 0) {

    partition_tag_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.partition_tag_);
  }
  if (from.segmentid() != 0) {
    set_segmentid(from.segmentid());
  }
  if (from.collectionid() != 0) {
    set_collectionid(from.collectionid());
  }
  if (from.channel_start() != 0) {
    set_channel_start(from.channel_start());
  }
  if (from.channel_end() != 0) {
    set_channel_end(from.channel_end());
  }
  if (from.open_time() != 0) {
    set_open_time(from.open_time());
  }
  if (from.close_time() != 0) {
    set_close_time(from.close_time());
  }
  if (from.num_rows() != 0) {
    set_num_rows(from.num_rows());
  }
}

void SegmentMeta::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:milvus.proto.etcd.SegmentMeta)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void SegmentMeta::CopyFrom(const SegmentMeta& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:milvus.proto.etcd.SegmentMeta)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool SegmentMeta::IsInitialized() const {
  return true;
}

void SegmentMeta::InternalSwap(SegmentMeta* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  partition_tag_.Swap(&other->partition_tag_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  swap(segmentid_, other->segmentid_);
  swap(collectionid_, other->collectionid_);
  swap(channel_start_, other->channel_start_);
  swap(channel_end_, other->channel_end_);
  swap(open_time_, other->open_time_);
  swap(close_time_, other->close_time_);
  swap(num_rows_, other->num_rows_);
}

::PROTOBUF_NAMESPACE_ID::Metadata SegmentMeta::GetMetadata() const {
  return GetMetadataStatic();
}


// @@protoc_insertion_point(namespace_scope)
}  // namespace etcd
}  // namespace proto
}  // namespace milvus
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::milvus::proto::etcd::TenantMeta* Arena::CreateMaybeMessage< ::milvus::proto::etcd::TenantMeta >(Arena* arena) {
  return Arena::CreateInternal< ::milvus::proto::etcd::TenantMeta >(arena);
}
template<> PROTOBUF_NOINLINE ::milvus::proto::etcd::ProxyMeta* Arena::CreateMaybeMessage< ::milvus::proto::etcd::ProxyMeta >(Arena* arena) {
  return Arena::CreateInternal< ::milvus::proto::etcd::ProxyMeta >(arena);
}
template<> PROTOBUF_NOINLINE ::milvus::proto::etcd::CollectionMeta* Arena::CreateMaybeMessage< ::milvus::proto::etcd::CollectionMeta >(Arena* arena) {
  return Arena::CreateInternal< ::milvus::proto::etcd::CollectionMeta >(arena);
}
template<> PROTOBUF_NOINLINE ::milvus::proto::etcd::SegmentMeta* Arena::CreateMaybeMessage< ::milvus::proto::etcd::SegmentMeta >(Arena* arena) {
  return Arena::CreateInternal< ::milvus::proto::etcd::SegmentMeta >(arena);
}
PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)
#include <google/protobuf/port_undef.inc>
