Browse Source

移植到ubuntu20.04

zx 4 years ago
parent
commit
5d507121a3

+ 50 - 77
communication/communication.pb.cc

@@ -7,7 +7,6 @@
 
 #include <google/protobuf/stubs/common.h>
 #include <google/protobuf/stubs/port.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>
@@ -19,6 +18,10 @@
 #include "third_party/protobuf/version.h"
 #endif
 // @@protoc_insertion_point(includes)
+
+namespace protobuf_communication_2eproto {
+extern PROTOBUF_INTERNAL_EXPORT_protobuf_communication_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Communication_parameter;
+}  // namespace protobuf_communication_2eproto
 namespace Communication_proto {
 class Communication_parameterDefaultTypeInternal {
  public:
@@ -32,14 +35,9 @@ class Communication_parameter_allDefaultTypeInternal {
 } _Communication_parameter_all_default_instance_;
 }  // namespace Communication_proto
 namespace protobuf_communication_2eproto {
-void InitDefaultsCommunication_parameterImpl() {
+static void InitDefaultsCommunication_parameter() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
   {
     void* ptr = &::Communication_proto::_Communication_parameter_default_instance_;
     new (ptr) ::Communication_proto::Communication_parameter();
@@ -48,20 +46,12 @@ void InitDefaultsCommunication_parameterImpl() {
   ::Communication_proto::Communication_parameter::InitAsDefaultInstance();
 }
 
-void InitDefaultsCommunication_parameter() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsCommunication_parameterImpl);
-}
+::google::protobuf::internal::SCCInfo<0> scc_info_Communication_parameter =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsCommunication_parameter}, {}};
 
-void InitDefaultsCommunication_parameter_allImpl() {
+static void InitDefaultsCommunication_parameter_all() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  protobuf_communication_2eproto::InitDefaultsCommunication_parameter();
   {
     void* ptr = &::Communication_proto::_Communication_parameter_all_default_instance_;
     new (ptr) ::Communication_proto::Communication_parameter_all();
@@ -70,9 +60,13 @@ void InitDefaultsCommunication_parameter_allImpl() {
   ::Communication_proto::Communication_parameter_all::InitAsDefaultInstance();
 }
 
-void InitDefaultsCommunication_parameter_all() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsCommunication_parameter_allImpl);
+::google::protobuf::internal::SCCInfo<1> scc_info_Communication_parameter_all =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsCommunication_parameter_all}, {
+      &protobuf_communication_2eproto::scc_info_Communication_parameter.base,}};
+
+void InitDefaults() {
+  ::google::protobuf::internal::InitSCC(&scc_info_Communication_parameter.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_Communication_parameter_all.base);
 }
 
 ::google::protobuf::Metadata file_level_metadata[2];
@@ -107,15 +101,14 @@ static ::google::protobuf::Message const * const file_default_instances[] = {
 
 void protobuf_AssignDescriptors() {
   AddDescriptors();
-  ::google::protobuf::MessageFactory* factory = NULL;
   AssignDescriptors(
-      "communication.proto", schemas, file_default_instances, TableStruct::offsets, factory,
+      "communication.proto", schemas, file_default_instances, TableStruct::offsets,
       file_level_metadata, NULL, NULL);
 }
 
 void protobuf_AssignDescriptorsOnce() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
+  static ::google::protobuf::internal::once_flag once;
+  ::google::protobuf::internal::call_once(once, protobuf_AssignDescriptors);
 }
 
 void protobuf_RegisterTypes(const ::std::string&) GOOGLE_PROTOBUF_ATTRIBUTE_COLD;
@@ -141,8 +134,8 @@ void AddDescriptorsImpl() {
 }
 
 void AddDescriptors() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
+  static ::google::protobuf::internal::once_flag once;
+  ::google::protobuf::internal::call_once(once, AddDescriptorsImpl);
 }
 // Force AddDescriptors() to be called at dynamic initialization time.
 struct StaticDescriptorInitializer {
@@ -164,9 +157,8 @@ const int Communication_parameter::kConnectStringVectorFieldNumber;
 
 Communication_parameter::Communication_parameter()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_communication_2eproto::InitDefaultsCommunication_parameter();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_communication_2eproto::scc_info_Communication_parameter.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:Communication_proto.Communication_parameter)
 }
@@ -174,7 +166,6 @@ Communication_parameter::Communication_parameter(const Communication_parameter&
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
       _has_bits_(from._has_bits_),
-      _cached_size_(0),
       connect_string_vector_(from.connect_string_vector_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   bind_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
@@ -185,7 +176,6 @@ Communication_parameter::Communication_parameter(const Communication_parameter&
 }
 
 void Communication_parameter::SharedCtor() {
-  _cached_size_ = 0;
   bind_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
 }
 
@@ -199,9 +189,7 @@ void Communication_parameter::SharedDtor() {
 }
 
 void Communication_parameter::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Communication_parameter::descriptor() {
   ::protobuf_communication_2eproto::protobuf_AssignDescriptorsOnce();
@@ -209,17 +197,10 @@ const ::google::protobuf::Descriptor* Communication_parameter::descriptor() {
 }
 
 const Communication_parameter& Communication_parameter::default_instance() {
-  ::protobuf_communication_2eproto::InitDefaultsCommunication_parameter();
+  ::google::protobuf::internal::InitSCC(&protobuf_communication_2eproto::scc_info_Communication_parameter.base);
   return *internal_default_instance();
 }
 
-Communication_parameter* Communication_parameter::New(::google::protobuf::Arena* arena) const {
-  Communication_parameter* n = new Communication_parameter;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Communication_parameter::Clear() {
 // @@protoc_insertion_point(message_clear_start:Communication_proto.Communication_parameter)
@@ -230,8 +211,7 @@ void Communication_parameter::Clear() {
   connect_string_vector_.Clear();
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 0x00000001u) {
-    GOOGLE_DCHECK(!bind_string_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-    (*bind_string_.UnsafeRawStringPointer())->clear();
+    bind_string_.ClearNonDefaultToEmptyNoArena();
   }
   _has_bits_.Clear();
   _internal_metadata_.Clear();
@@ -243,7 +223,7 @@ bool Communication_parameter::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:Communication_proto.Communication_parameter)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -396,9 +376,7 @@ size_t Communication_parameter::ByteSizeLong() const {
   }
 
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -455,11 +433,11 @@ void Communication_parameter::Swap(Communication_parameter* other) {
 }
 void Communication_parameter::InternalSwap(Communication_parameter* other) {
   using std::swap;
-  connect_string_vector_.InternalSwap(&other->connect_string_vector_);
-  bind_string_.Swap(&other->bind_string_);
+  connect_string_vector_.InternalSwap(CastToBase(&other->connect_string_vector_));
+  bind_string_.Swap(&other->bind_string_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+    GetArenaNoVirtual());
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Communication_parameter::GetMetadata() const {
@@ -480,17 +458,15 @@ const int Communication_parameter_all::kCommunicationParametersFieldNumber;
 
 Communication_parameter_all::Communication_parameter_all()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_communication_2eproto::InitDefaultsCommunication_parameter_all();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_communication_2eproto::scc_info_Communication_parameter_all.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:Communication_proto.Communication_parameter_all)
 }
 Communication_parameter_all::Communication_parameter_all(const Communication_parameter_all& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
+      _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   if (from.has_communication_parameters()) {
     communication_parameters_ = new ::Communication_proto::Communication_parameter(*from.communication_parameters_);
@@ -501,7 +477,6 @@ Communication_parameter_all::Communication_parameter_all(const Communication_par
 }
 
 void Communication_parameter_all::SharedCtor() {
-  _cached_size_ = 0;
   communication_parameters_ = NULL;
 }
 
@@ -515,9 +490,7 @@ void Communication_parameter_all::SharedDtor() {
 }
 
 void Communication_parameter_all::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Communication_parameter_all::descriptor() {
   ::protobuf_communication_2eproto::protobuf_AssignDescriptorsOnce();
@@ -525,17 +498,10 @@ const ::google::protobuf::Descriptor* Communication_parameter_all::descriptor()
 }
 
 const Communication_parameter_all& Communication_parameter_all::default_instance() {
-  ::protobuf_communication_2eproto::InitDefaultsCommunication_parameter_all();
+  ::google::protobuf::internal::InitSCC(&protobuf_communication_2eproto::scc_info_Communication_parameter_all.base);
   return *internal_default_instance();
 }
 
-Communication_parameter_all* Communication_parameter_all::New(::google::protobuf::Arena* arena) const {
-  Communication_parameter_all* n = new Communication_parameter_all;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Communication_parameter_all::Clear() {
 // @@protoc_insertion_point(message_clear_start:Communication_proto.Communication_parameter_all)
@@ -558,7 +524,7 @@ bool Communication_parameter_all::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:Communication_proto.Communication_parameter_all)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -604,7 +570,7 @@ void Communication_parameter_all::SerializeWithCachedSizes(
   // optional .Communication_proto.Communication_parameter communication_parameters = 1;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, *this->communication_parameters_, output);
+      1, this->_internal_communication_parameters(), output);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -626,7 +592,7 @@ void Communication_parameter_all::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000001u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        1, *this->communication_parameters_, deterministic, target);
+        1, this->_internal_communication_parameters(), deterministic, target);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -650,13 +616,11 @@ size_t Communication_parameter_all::ByteSizeLong() const {
   if (has_communication_parameters()) {
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->communication_parameters_);
+        *communication_parameters_);
   }
 
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -714,7 +678,6 @@ void Communication_parameter_all::InternalSwap(Communication_parameter_all* othe
   swap(communication_parameters_, other->communication_parameters_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Communication_parameter_all::GetMetadata() const {
@@ -725,5 +688,15 @@ void Communication_parameter_all::InternalSwap(Communication_parameter_all* othe
 
 // @@protoc_insertion_point(namespace_scope)
 }  // namespace Communication_proto
+namespace google {
+namespace protobuf {
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::Communication_proto::Communication_parameter* Arena::CreateMaybeMessage< ::Communication_proto::Communication_parameter >(Arena* arena) {
+  return Arena::CreateInternal< ::Communication_proto::Communication_parameter >(arena);
+}
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::Communication_proto::Communication_parameter_all* Arena::CreateMaybeMessage< ::Communication_proto::Communication_parameter_all >(Arena* arena) {
+  return Arena::CreateInternal< ::Communication_proto::Communication_parameter_all >(arena);
+}
+}  // namespace protobuf
+}  // namespace google
 
 // @@protoc_insertion_point(global_scope)

+ 65 - 47
communication/communication.pb.h

@@ -1,19 +1,19 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: communication.proto
 
-#ifndef PROTOBUF_communication_2eproto__INCLUDED
-#define PROTOBUF_communication_2eproto__INCLUDED
+#ifndef PROTOBUF_INCLUDED_communication_2eproto
+#define PROTOBUF_INCLUDED_communication_2eproto
 
 #include <string>
 
 #include <google/protobuf/stubs/common.h>
 
-#if GOOGLE_PROTOBUF_VERSION < 3005000
+#if GOOGLE_PROTOBUF_VERSION < 3006001
 #error This file was generated by a newer version of protoc which is
 #error incompatible with your Protocol Buffer headers.  Please update
 #error your headers.
 #endif
-#if 3005000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
 #error This file was generated by an older version of protoc which is
 #error incompatible with your Protocol Buffer headers.  Please
 #error regenerate this file with a newer version of protoc.
@@ -24,12 +24,14 @@
 #include <google/protobuf/arenastring.h>
 #include <google/protobuf/generated_message_table_driven.h>
 #include <google/protobuf/generated_message_util.h>
+#include <google/protobuf/inlined_string_field.h>
 #include <google/protobuf/metadata.h>
 #include <google/protobuf/message.h>
 #include <google/protobuf/repeated_field.h>  // IWYU pragma: export
 #include <google/protobuf/extension_set.h>  // IWYU pragma: export
 #include <google/protobuf/unknown_field_set.h>
 // @@protoc_insertion_point(includes)
+#define PROTOBUF_INTERNAL_EXPORT_protobuf_communication_2eproto 
 
 namespace protobuf_communication_2eproto {
 // Internal implementation detail -- do not use these members.
@@ -42,14 +44,6 @@ struct TableStruct {
   static const ::google::protobuf::uint32 offsets[];
 };
 void AddDescriptors();
-void InitDefaultsCommunication_parameterImpl();
-void InitDefaultsCommunication_parameter();
-void InitDefaultsCommunication_parameter_allImpl();
-void InitDefaultsCommunication_parameter_all();
-inline void InitDefaults() {
-  InitDefaultsCommunication_parameter();
-  InitDefaultsCommunication_parameter_all();
-}
 }  // namespace protobuf_communication_2eproto
 namespace Communication_proto {
 class Communication_parameter;
@@ -59,6 +53,12 @@ class Communication_parameter_all;
 class Communication_parameter_allDefaultTypeInternal;
 extern Communication_parameter_allDefaultTypeInternal _Communication_parameter_all_default_instance_;
 }  // namespace Communication_proto
+namespace google {
+namespace protobuf {
+template<> ::Communication_proto::Communication_parameter* Arena::CreateMaybeMessage<::Communication_proto::Communication_parameter>(Arena*);
+template<> ::Communication_proto::Communication_parameter_all* Arena::CreateMaybeMessage<::Communication_proto::Communication_parameter_all>(Arena*);
+}  // namespace protobuf
+}  // namespace google
 namespace Communication_proto {
 
 // ===================================================================
@@ -104,7 +104,7 @@ class Communication_parameter : public ::google::protobuf::Message /* @@protoc_i
     return reinterpret_cast<const Communication_parameter*>(
                &_Communication_parameter_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     0;
 
   void Swap(Communication_parameter* other);
@@ -114,28 +114,33 @@ class Communication_parameter : public ::google::protobuf::Message /* @@protoc_i
 
   // implements Message ----------------------------------------------
 
-  inline Communication_parameter* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Communication_parameter* New() const final {
+    return CreateMaybeMessage<Communication_parameter>(NULL);
+  }
 
-  Communication_parameter* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Communication_parameter* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Communication_parameter>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Communication_parameter& from);
   void MergeFrom(const Communication_parameter& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Communication_parameter* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -146,7 +151,7 @@ class Communication_parameter : public ::google::protobuf::Message /* @@protoc_i
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -196,11 +201,10 @@ class Communication_parameter : public ::google::protobuf::Message /* @@protoc_i
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::google::protobuf::RepeatedPtrField< ::std::string> connect_string_vector_;
   ::google::protobuf::internal::ArenaStringPtr bind_string_;
   friend struct ::protobuf_communication_2eproto::TableStruct;
-  friend void ::protobuf_communication_2eproto::InitDefaultsCommunication_parameterImpl();
 };
 // -------------------------------------------------------------------
 
@@ -245,7 +249,7 @@ class Communication_parameter_all : public ::google::protobuf::Message /* @@prot
     return reinterpret_cast<const Communication_parameter_all*>(
                &_Communication_parameter_all_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     1;
 
   void Swap(Communication_parameter_all* other);
@@ -255,28 +259,33 @@ class Communication_parameter_all : public ::google::protobuf::Message /* @@prot
 
   // implements Message ----------------------------------------------
 
-  inline Communication_parameter_all* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Communication_parameter_all* New() const final {
+    return CreateMaybeMessage<Communication_parameter_all>(NULL);
+  }
 
-  Communication_parameter_all* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Communication_parameter_all* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Communication_parameter_all>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Communication_parameter_all& from);
   void MergeFrom(const Communication_parameter_all& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Communication_parameter_all* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -287,7 +296,7 @@ class Communication_parameter_all : public ::google::protobuf::Message /* @@prot
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -297,6 +306,9 @@ class Communication_parameter_all : public ::google::protobuf::Message /* @@prot
   bool has_communication_parameters() const;
   void clear_communication_parameters();
   static const int kCommunicationParametersFieldNumber = 1;
+  private:
+  const ::Communication_proto::Communication_parameter& _internal_communication_parameters() const;
+  public:
   const ::Communication_proto::Communication_parameter& communication_parameters() const;
   ::Communication_proto::Communication_parameter* release_communication_parameters();
   ::Communication_proto::Communication_parameter* mutable_communication_parameters();
@@ -309,10 +321,9 @@ class Communication_parameter_all : public ::google::protobuf::Message /* @@prot
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::Communication_proto::Communication_parameter* communication_parameters_;
   friend struct ::protobuf_communication_2eproto::TableStruct;
-  friend void ::protobuf_communication_2eproto::InitDefaultsCommunication_parameter_allImpl();
 };
 // ===================================================================
 
@@ -375,8 +386,11 @@ inline ::std::string* Communication_parameter::mutable_bind_string() {
 }
 inline ::std::string* Communication_parameter::release_bind_string() {
   // @@protoc_insertion_point(field_release:Communication_proto.Communication_parameter.bind_string)
+  if (!has_bind_string()) {
+    return NULL;
+  }
   clear_has_bind_string();
-  return bind_string_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  return bind_string_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
 }
 inline void Communication_parameter::set_allocated_bind_string(::std::string* bind_string) {
   if (bind_string != NULL) {
@@ -475,6 +489,9 @@ inline void Communication_parameter_all::clear_communication_parameters() {
   if (communication_parameters_ != NULL) communication_parameters_->Clear();
   clear_has_communication_parameters();
 }
+inline const ::Communication_proto::Communication_parameter& Communication_parameter_all::_internal_communication_parameters() const {
+  return *communication_parameters_;
+}
 inline const ::Communication_proto::Communication_parameter& Communication_parameter_all::communication_parameters() const {
   const ::Communication_proto::Communication_parameter* p = communication_parameters_;
   // @@protoc_insertion_point(field_get:Communication_proto.Communication_parameter_all.communication_parameters)
@@ -491,7 +508,8 @@ inline ::Communication_proto::Communication_parameter* Communication_parameter_a
 inline ::Communication_proto::Communication_parameter* Communication_parameter_all::mutable_communication_parameters() {
   set_has_communication_parameters();
   if (communication_parameters_ == NULL) {
-    communication_parameters_ = new ::Communication_proto::Communication_parameter;
+    auto* p = CreateMaybeMessage<::Communication_proto::Communication_parameter>(GetArenaNoVirtual());
+    communication_parameters_ = p;
   }
   // @@protoc_insertion_point(field_mutable:Communication_proto.Communication_parameter_all.communication_parameters)
   return communication_parameters_;
@@ -527,4 +545,4 @@ inline void Communication_parameter_all::set_allocated_communication_parameters(
 
 // @@protoc_insertion_point(global_scope)
 
-#endif  // PROTOBUF_communication_2eproto__INCLUDED
+#endif  // PROTOBUF_INCLUDED_communication_2eproto

+ 1 - 1
main.cpp

@@ -48,7 +48,7 @@ Error_manager init_communicators()
     if(! proto_tool::read_proto_param("./setting/system_setting.prototxt",system_setting) )
     {
         return Error_manager(COMMUNICATION_READ_PROTOBUF_ERROR,MINOR_ERROR,
-                             "Communication_socket_base read_proto_param  failed");
+                             "system_setting read_proto_param  failed");
     }
 
     /*

+ 103 - 157
message/central_control_message.pb.cc

@@ -7,7 +7,6 @@
 
 #include <google/protobuf/stubs/common.h>
 #include <google/protobuf/stubs/port.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>
@@ -19,6 +18,13 @@
 #include "third_party/protobuf/version.h"
 #endif
 // @@protoc_insertion_point(includes)
+
+namespace protobuf_central_5fcontrol_5fmessage_2eproto {
+extern PROTOBUF_INTERNAL_EXPORT_protobuf_central_5fcontrol_5fmessage_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Entrance_statu;
+}  // namespace protobuf_central_5fcontrol_5fmessage_2eproto
+namespace protobuf_message_5fbase_2eproto {
+extern PROTOBUF_INTERNAL_EXPORT_protobuf_message_5fbase_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Base_info;
+}  // namespace protobuf_message_5fbase_2eproto
 namespace message {
 class Entrance_statuDefaultTypeInternal {
  public:
@@ -42,14 +48,9 @@ class Process_manual_operation_msgDefaultTypeInternal {
 } _Process_manual_operation_msg_default_instance_;
 }  // namespace message
 namespace protobuf_central_5fcontrol_5fmessage_2eproto {
-void InitDefaultsEntrance_statuImpl() {
+static void InitDefaultsEntrance_statu() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
   {
     void* ptr = &::message::_Entrance_statu_default_instance_;
     new (ptr) ::message::Entrance_statu();
@@ -58,21 +59,12 @@ void InitDefaultsEntrance_statuImpl() {
   ::message::Entrance_statu::InitAsDefaultInstance();
 }
 
-void InitDefaultsEntrance_statu() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsEntrance_statuImpl);
-}
+::google::protobuf::internal::SCCInfo<0> scc_info_Entrance_statu =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsEntrance_statu}, {}};
 
-void InitDefaultsCentral_controller_statu_msgImpl() {
+static void InitDefaultsCentral_controller_statu_msg() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
-  protobuf_central_5fcontrol_5fmessage_2eproto::InitDefaultsEntrance_statu();
   {
     void* ptr = &::message::_Central_controller_statu_msg_default_instance_;
     new (ptr) ::message::Central_controller_statu_msg();
@@ -81,20 +73,14 @@ void InitDefaultsCentral_controller_statu_msgImpl() {
   ::message::Central_controller_statu_msg::InitAsDefaultInstance();
 }
 
-void InitDefaultsCentral_controller_statu_msg() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsCentral_controller_statu_msgImpl);
-}
+::google::protobuf::internal::SCCInfo<2> scc_info_Central_controller_statu_msg =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsCentral_controller_statu_msg}, {
+      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,
+      &protobuf_central_5fcontrol_5fmessage_2eproto::scc_info_Entrance_statu.base,}};
 
-void InitDefaultsEntrance_manual_operation_msgImpl() {
+static void InitDefaultsEntrance_manual_operation_msg() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
   {
     void* ptr = &::message::_Entrance_manual_operation_msg_default_instance_;
     new (ptr) ::message::Entrance_manual_operation_msg();
@@ -103,20 +89,13 @@ void InitDefaultsEntrance_manual_operation_msgImpl() {
   ::message::Entrance_manual_operation_msg::InitAsDefaultInstance();
 }
 
-void InitDefaultsEntrance_manual_operation_msg() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsEntrance_manual_operation_msgImpl);
-}
+::google::protobuf::internal::SCCInfo<1> scc_info_Entrance_manual_operation_msg =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsEntrance_manual_operation_msg}, {
+      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,}};
 
-void InitDefaultsProcess_manual_operation_msgImpl() {
+static void InitDefaultsProcess_manual_operation_msg() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
   {
     void* ptr = &::message::_Process_manual_operation_msg_default_instance_;
     new (ptr) ::message::Process_manual_operation_msg();
@@ -125,9 +104,15 @@ void InitDefaultsProcess_manual_operation_msgImpl() {
   ::message::Process_manual_operation_msg::InitAsDefaultInstance();
 }
 
-void InitDefaultsProcess_manual_operation_msg() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsProcess_manual_operation_msgImpl);
+::google::protobuf::internal::SCCInfo<1> scc_info_Process_manual_operation_msg =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsProcess_manual_operation_msg}, {
+      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,}};
+
+void InitDefaults() {
+  ::google::protobuf::internal::InitSCC(&scc_info_Entrance_statu.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_Central_controller_statu_msg.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_Entrance_manual_operation_msg.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_Process_manual_operation_msg.base);
 }
 
 ::google::protobuf::Metadata file_level_metadata[4];
@@ -201,15 +186,14 @@ static ::google::protobuf::Message const * const file_default_instances[] = {
 
 void protobuf_AssignDescriptors() {
   AddDescriptors();
-  ::google::protobuf::MessageFactory* factory = NULL;
   AssignDescriptors(
-      "central_control_message.proto", schemas, file_default_instances, TableStruct::offsets, factory,
+      "central_control_message.proto", schemas, file_default_instances, TableStruct::offsets,
       file_level_metadata, file_level_enum_descriptors, NULL);
 }
 
 void protobuf_AssignDescriptorsOnce() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
+  static ::google::protobuf::internal::once_flag once;
+  ::google::protobuf::internal::call_once(once, protobuf_AssignDescriptors);
 }
 
 void protobuf_RegisterTypes(const ::std::string&) GOOGLE_PROTOBUF_ATTRIBUTE_COLD;
@@ -253,8 +237,8 @@ void AddDescriptorsImpl() {
 }
 
 void AddDescriptors() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
+  static ::google::protobuf::internal::once_flag once;
+  ::google::protobuf::internal::call_once(once, AddDescriptorsImpl);
 }
 // Force AddDescriptors() to be called at dynamic initialization time.
 struct StaticDescriptorInitializer {
@@ -308,17 +292,15 @@ const int Entrance_statu::kDispatchStatuFieldNumber;
 
 Entrance_statu::Entrance_statu()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_central_5fcontrol_5fmessage_2eproto::InitDefaultsEntrance_statu();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_central_5fcontrol_5fmessage_2eproto::scc_info_Entrance_statu.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Entrance_statu)
 }
 Entrance_statu::Entrance_statu(const Entrance_statu& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
+      _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   ::memcpy(&paused_, &from.paused_,
     static_cast<size_t>(reinterpret_cast<char*>(&dispatch_statu_) -
@@ -327,7 +309,6 @@ Entrance_statu::Entrance_statu(const Entrance_statu& from)
 }
 
 void Entrance_statu::SharedCtor() {
-  _cached_size_ = 0;
   ::memset(&paused_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&dispatch_statu_) -
       reinterpret_cast<char*>(&paused_)) + sizeof(dispatch_statu_));
@@ -342,9 +323,7 @@ void Entrance_statu::SharedDtor() {
 }
 
 void Entrance_statu::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Entrance_statu::descriptor() {
   ::protobuf_central_5fcontrol_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
@@ -352,17 +331,10 @@ const ::google::protobuf::Descriptor* Entrance_statu::descriptor() {
 }
 
 const Entrance_statu& Entrance_statu::default_instance() {
-  ::protobuf_central_5fcontrol_5fmessage_2eproto::InitDefaultsEntrance_statu();
+  ::google::protobuf::internal::InitSCC(&protobuf_central_5fcontrol_5fmessage_2eproto::scc_info_Entrance_statu.base);
   return *internal_default_instance();
 }
 
-Entrance_statu* Entrance_statu::New(::google::protobuf::Arena* arena) const {
-  Entrance_statu* n = new Entrance_statu;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Entrance_statu::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Entrance_statu)
@@ -386,7 +358,7 @@ bool Entrance_statu::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Entrance_statu)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -594,9 +566,7 @@ size_t Entrance_statu::ByteSizeLong() const {
 
   }
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -671,7 +641,6 @@ void Entrance_statu::InternalSwap(Entrance_statu* other) {
   swap(dispatch_statu_, other->dispatch_statu_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Entrance_statu::GetMetadata() const {
@@ -698,9 +667,8 @@ const int Central_controller_statu_msg::kExportStatuVectorFieldNumber;
 
 Central_controller_statu_msg::Central_controller_statu_msg()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_central_5fcontrol_5fmessage_2eproto::InitDefaultsCentral_controller_statu_msg();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_central_5fcontrol_5fmessage_2eproto::scc_info_Central_controller_statu_msg.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Central_controller_statu_msg)
 }
@@ -708,7 +676,6 @@ Central_controller_statu_msg::Central_controller_statu_msg(const Central_control
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
       _has_bits_(from._has_bits_),
-      _cached_size_(0),
       entrance_statu_vector_(from.entrance_statu_vector_),
       export_statu_vector_(from.export_statu_vector_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
@@ -721,7 +688,6 @@ Central_controller_statu_msg::Central_controller_statu_msg(const Central_control
 }
 
 void Central_controller_statu_msg::SharedCtor() {
-  _cached_size_ = 0;
   base_info_ = NULL;
 }
 
@@ -735,9 +701,7 @@ void Central_controller_statu_msg::SharedDtor() {
 }
 
 void Central_controller_statu_msg::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Central_controller_statu_msg::descriptor() {
   ::protobuf_central_5fcontrol_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
@@ -745,17 +709,10 @@ const ::google::protobuf::Descriptor* Central_controller_statu_msg::descriptor()
 }
 
 const Central_controller_statu_msg& Central_controller_statu_msg::default_instance() {
-  ::protobuf_central_5fcontrol_5fmessage_2eproto::InitDefaultsCentral_controller_statu_msg();
+  ::google::protobuf::internal::InitSCC(&protobuf_central_5fcontrol_5fmessage_2eproto::scc_info_Central_controller_statu_msg.base);
   return *internal_default_instance();
 }
 
-Central_controller_statu_msg* Central_controller_statu_msg::New(::google::protobuf::Arena* arena) const {
-  Central_controller_statu_msg* n = new Central_controller_statu_msg;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Central_controller_statu_msg::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Central_controller_statu_msg)
@@ -780,7 +737,7 @@ bool Central_controller_statu_msg::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Central_controller_statu_msg)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -800,7 +757,8 @@ bool Central_controller_statu_msg::MergePartialFromCodedStream(
       case 2: {
         if (static_cast< ::google::protobuf::uint8>(tag) ==
             static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(input, add_entrance_statu_vector()));
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+                input, add_entrance_statu_vector()));
         } else {
           goto handle_unusual;
         }
@@ -811,7 +769,8 @@ bool Central_controller_statu_msg::MergePartialFromCodedStream(
       case 3: {
         if (static_cast< ::google::protobuf::uint8>(tag) ==
             static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(input, add_export_statu_vector()));
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+                input, add_export_statu_vector()));
         } else {
           goto handle_unusual;
         }
@@ -848,21 +807,25 @@ void Central_controller_statu_msg::SerializeWithCachedSizes(
   // required .message.Base_info base_info = 1;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, *this->base_info_, output);
+      1, this->_internal_base_info(), output);
   }
 
   // repeated .message.Entrance_statu entrance_statu_vector = 2;
   for (unsigned int i = 0,
       n = static_cast<unsigned int>(this->entrance_statu_vector_size()); i < n; i++) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      2, this->entrance_statu_vector(static_cast<int>(i)), output);
+      2,
+      this->entrance_statu_vector(static_cast<int>(i)),
+      output);
   }
 
   // repeated .message.Entrance_statu export_statu_vector = 3;
   for (unsigned int i = 0,
       n = static_cast<unsigned int>(this->export_statu_vector_size()); i < n; i++) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      3, this->export_statu_vector(static_cast<int>(i)), output);
+      3,
+      this->export_statu_vector(static_cast<int>(i)),
+      output);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -884,7 +847,7 @@ void Central_controller_statu_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000001u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        1, *this->base_info_, deterministic, target);
+        1, this->_internal_base_info(), deterministic, target);
   }
 
   // repeated .message.Entrance_statu entrance_statu_vector = 2;
@@ -924,7 +887,7 @@ size_t Central_controller_statu_msg::ByteSizeLong() const {
   if (has_base_info()) {
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
   }
   // repeated .message.Entrance_statu entrance_statu_vector = 2;
   {
@@ -949,9 +912,7 @@ size_t Central_controller_statu_msg::ByteSizeLong() const {
   }
 
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -1014,12 +975,11 @@ void Central_controller_statu_msg::Swap(Central_controller_statu_msg* other) {
 }
 void Central_controller_statu_msg::InternalSwap(Central_controller_statu_msg* other) {
   using std::swap;
-  entrance_statu_vector_.InternalSwap(&other->entrance_statu_vector_);
-  export_statu_vector_.InternalSwap(&other->export_statu_vector_);
+  CastToBase(&entrance_statu_vector_)->InternalSwap(CastToBase(&other->entrance_statu_vector_));
+  CastToBase(&export_statu_vector_)->InternalSwap(CastToBase(&other->export_statu_vector_));
   swap(base_info_, other->base_info_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Central_controller_statu_msg::GetMetadata() const {
@@ -1047,17 +1007,15 @@ const int Entrance_manual_operation_msg::kPausedFieldNumber;
 
 Entrance_manual_operation_msg::Entrance_manual_operation_msg()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_central_5fcontrol_5fmessage_2eproto::InitDefaultsEntrance_manual_operation_msg();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_central_5fcontrol_5fmessage_2eproto::scc_info_Entrance_manual_operation_msg.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Entrance_manual_operation_msg)
 }
 Entrance_manual_operation_msg::Entrance_manual_operation_msg(const Entrance_manual_operation_msg& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
+      _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   if (from.has_base_info()) {
     base_info_ = new ::message::Base_info(*from.base_info_);
@@ -1071,7 +1029,6 @@ Entrance_manual_operation_msg::Entrance_manual_operation_msg(const Entrance_manu
 }
 
 void Entrance_manual_operation_msg::SharedCtor() {
-  _cached_size_ = 0;
   ::memset(&base_info_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&paused_) -
       reinterpret_cast<char*>(&base_info_)) + sizeof(paused_));
@@ -1088,9 +1045,7 @@ void Entrance_manual_operation_msg::SharedDtor() {
 }
 
 void Entrance_manual_operation_msg::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Entrance_manual_operation_msg::descriptor() {
   ::protobuf_central_5fcontrol_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
@@ -1098,17 +1053,10 @@ const ::google::protobuf::Descriptor* Entrance_manual_operation_msg::descriptor(
 }
 
 const Entrance_manual_operation_msg& Entrance_manual_operation_msg::default_instance() {
-  ::protobuf_central_5fcontrol_5fmessage_2eproto::InitDefaultsEntrance_manual_operation_msg();
+  ::google::protobuf::internal::InitSCC(&protobuf_central_5fcontrol_5fmessage_2eproto::scc_info_Entrance_manual_operation_msg.base);
   return *internal_default_instance();
 }
 
-Entrance_manual_operation_msg* Entrance_manual_operation_msg::New(::google::protobuf::Arena* arena) const {
-  Entrance_manual_operation_msg* n = new Entrance_manual_operation_msg;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Entrance_manual_operation_msg::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Entrance_manual_operation_msg)
@@ -1137,7 +1085,7 @@ bool Entrance_manual_operation_msg::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Entrance_manual_operation_msg)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -1231,7 +1179,7 @@ void Entrance_manual_operation_msg::SerializeWithCachedSizes(
   // required .message.Base_info base_info = 1;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, *this->base_info_, output);
+      1, this->_internal_base_info(), output);
   }
 
   // required int32 terminal_id = 2;
@@ -1269,7 +1217,7 @@ void Entrance_manual_operation_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000001u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        1, *this->base_info_, deterministic, target);
+        1, this->_internal_base_info(), deterministic, target);
   }
 
   // required int32 terminal_id = 2;
@@ -1304,7 +1252,7 @@ size_t Entrance_manual_operation_msg::RequiredFieldsByteSizeFallback() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
   }
 
   if (has_terminal_id()) {
@@ -1340,7 +1288,7 @@ size_t Entrance_manual_operation_msg::ByteSizeLong() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
 
     // required int32 terminal_id = 2;
     total_size += 1 +
@@ -1358,9 +1306,7 @@ size_t Entrance_manual_operation_msg::ByteSizeLong() const {
     total_size += RequiredFieldsByteSizeFallback();
   }
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -1438,7 +1384,6 @@ void Entrance_manual_operation_msg::InternalSwap(Entrance_manual_operation_msg*
   swap(process_type_, other->process_type_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Entrance_manual_operation_msg::GetMetadata() const {
@@ -1466,17 +1411,15 @@ const int Process_manual_operation_msg::kOperateTypeFieldNumber;
 
 Process_manual_operation_msg::Process_manual_operation_msg()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_central_5fcontrol_5fmessage_2eproto::InitDefaultsProcess_manual_operation_msg();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_central_5fcontrol_5fmessage_2eproto::scc_info_Process_manual_operation_msg.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Process_manual_operation_msg)
 }
 Process_manual_operation_msg::Process_manual_operation_msg(const Process_manual_operation_msg& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
+      _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   license_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (from.has_license()) {
@@ -1494,7 +1437,6 @@ Process_manual_operation_msg::Process_manual_operation_msg(const Process_manual_
 }
 
 void Process_manual_operation_msg::SharedCtor() {
-  _cached_size_ = 0;
   license_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   ::memset(&base_info_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&operate_type_) -
@@ -1512,9 +1454,7 @@ void Process_manual_operation_msg::SharedDtor() {
 }
 
 void Process_manual_operation_msg::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Process_manual_operation_msg::descriptor() {
   ::protobuf_central_5fcontrol_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
@@ -1522,17 +1462,10 @@ const ::google::protobuf::Descriptor* Process_manual_operation_msg::descriptor()
 }
 
 const Process_manual_operation_msg& Process_manual_operation_msg::default_instance() {
-  ::protobuf_central_5fcontrol_5fmessage_2eproto::InitDefaultsProcess_manual_operation_msg();
+  ::google::protobuf::internal::InitSCC(&protobuf_central_5fcontrol_5fmessage_2eproto::scc_info_Process_manual_operation_msg.base);
   return *internal_default_instance();
 }
 
-Process_manual_operation_msg* Process_manual_operation_msg::New(::google::protobuf::Arena* arena) const {
-  Process_manual_operation_msg* n = new Process_manual_operation_msg;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Process_manual_operation_msg::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Process_manual_operation_msg)
@@ -1543,8 +1476,7 @@ void Process_manual_operation_msg::Clear() {
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 3u) {
     if (cached_has_bits & 0x00000001u) {
-      GOOGLE_DCHECK(!license_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*license_.UnsafeRawStringPointer())->clear();
+      license_.ClearNonDefaultToEmptyNoArena();
     }
     if (cached_has_bits & 0x00000002u) {
       GOOGLE_DCHECK(base_info_ != NULL);
@@ -1566,7 +1498,7 @@ bool Process_manual_operation_msg::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Process_manual_operation_msg)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -1668,7 +1600,7 @@ void Process_manual_operation_msg::SerializeWithCachedSizes(
   // required .message.Base_info base_info = 1;
   if (cached_has_bits & 0x00000002u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, *this->base_info_, output);
+      1, this->_internal_base_info(), output);
   }
 
   // required string license = 2;
@@ -1712,7 +1644,7 @@ void Process_manual_operation_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000002u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        1, *this->base_info_, deterministic, target);
+        1, this->_internal_base_info(), deterministic, target);
   }
 
   // required string license = 2;
@@ -1761,7 +1693,7 @@ size_t Process_manual_operation_msg::RequiredFieldsByteSizeFallback() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
   }
 
   if (has_step_type()) {
@@ -1796,7 +1728,7 @@ size_t Process_manual_operation_msg::ByteSizeLong() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
 
     // required .message.Step_type step_type = 3;
     total_size += 1 +
@@ -1810,9 +1742,7 @@ size_t Process_manual_operation_msg::ByteSizeLong() const {
     total_size += RequiredFieldsByteSizeFallback();
   }
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -1885,13 +1815,13 @@ void Process_manual_operation_msg::Swap(Process_manual_operation_msg* other) {
 }
 void Process_manual_operation_msg::InternalSwap(Process_manual_operation_msg* other) {
   using std::swap;
-  license_.Swap(&other->license_);
+  license_.Swap(&other->license_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+    GetArenaNoVirtual());
   swap(base_info_, other->base_info_);
   swap(step_type_, other->step_type_);
   swap(operate_type_, other->operate_type_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Process_manual_operation_msg::GetMetadata() const {
@@ -1902,5 +1832,21 @@ void Process_manual_operation_msg::InternalSwap(Process_manual_operation_msg* ot
 
 // @@protoc_insertion_point(namespace_scope)
 }  // namespace message
+namespace google {
+namespace protobuf {
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Entrance_statu* Arena::CreateMaybeMessage< ::message::Entrance_statu >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Entrance_statu >(arena);
+}
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Central_controller_statu_msg* Arena::CreateMaybeMessage< ::message::Central_controller_statu_msg >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Central_controller_statu_msg >(arena);
+}
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Entrance_manual_operation_msg* Arena::CreateMaybeMessage< ::message::Entrance_manual_operation_msg >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Entrance_manual_operation_msg >(arena);
+}
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Process_manual_operation_msg* Arena::CreateMaybeMessage< ::message::Process_manual_operation_msg >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Process_manual_operation_msg >(arena);
+}
+}  // namespace protobuf
+}  // namespace google
 
 // @@protoc_insertion_point(global_scope)

+ 145 - 109
message/central_control_message.pb.h

@@ -1,19 +1,19 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: central_control_message.proto
 
-#ifndef PROTOBUF_central_5fcontrol_5fmessage_2eproto__INCLUDED
-#define PROTOBUF_central_5fcontrol_5fmessage_2eproto__INCLUDED
+#ifndef PROTOBUF_INCLUDED_central_5fcontrol_5fmessage_2eproto
+#define PROTOBUF_INCLUDED_central_5fcontrol_5fmessage_2eproto
 
 #include <string>
 
 #include <google/protobuf/stubs/common.h>
 
-#if GOOGLE_PROTOBUF_VERSION < 3005000
+#if GOOGLE_PROTOBUF_VERSION < 3006001
 #error This file was generated by a newer version of protoc which is
 #error incompatible with your Protocol Buffer headers.  Please update
 #error your headers.
 #endif
-#if 3005000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
 #error This file was generated by an older version of protoc which is
 #error incompatible with your Protocol Buffer headers.  Please
 #error regenerate this file with a newer version of protoc.
@@ -24,6 +24,7 @@
 #include <google/protobuf/arenastring.h>
 #include <google/protobuf/generated_message_table_driven.h>
 #include <google/protobuf/generated_message_util.h>
+#include <google/protobuf/inlined_string_field.h>
 #include <google/protobuf/metadata.h>
 #include <google/protobuf/message.h>
 #include <google/protobuf/repeated_field.h>  // IWYU pragma: export
@@ -32,6 +33,7 @@
 #include <google/protobuf/unknown_field_set.h>
 #include "message_base.pb.h"
 // @@protoc_insertion_point(includes)
+#define PROTOBUF_INTERNAL_EXPORT_protobuf_central_5fcontrol_5fmessage_2eproto 
 
 namespace protobuf_central_5fcontrol_5fmessage_2eproto {
 // Internal implementation detail -- do not use these members.
@@ -44,20 +46,6 @@ struct TableStruct {
   static const ::google::protobuf::uint32 offsets[];
 };
 void AddDescriptors();
-void InitDefaultsEntrance_statuImpl();
-void InitDefaultsEntrance_statu();
-void InitDefaultsCentral_controller_statu_msgImpl();
-void InitDefaultsCentral_controller_statu_msg();
-void InitDefaultsEntrance_manual_operation_msgImpl();
-void InitDefaultsEntrance_manual_operation_msg();
-void InitDefaultsProcess_manual_operation_msgImpl();
-void InitDefaultsProcess_manual_operation_msg();
-inline void InitDefaults() {
-  InitDefaultsEntrance_statu();
-  InitDefaultsCentral_controller_statu_msg();
-  InitDefaultsEntrance_manual_operation_msg();
-  InitDefaultsProcess_manual_operation_msg();
-}
 }  // namespace protobuf_central_5fcontrol_5fmessage_2eproto
 namespace message {
 class Central_controller_statu_msg;
@@ -73,6 +61,14 @@ class Process_manual_operation_msg;
 class Process_manual_operation_msgDefaultTypeInternal;
 extern Process_manual_operation_msgDefaultTypeInternal _Process_manual_operation_msg_default_instance_;
 }  // namespace message
+namespace google {
+namespace protobuf {
+template<> ::message::Central_controller_statu_msg* Arena::CreateMaybeMessage<::message::Central_controller_statu_msg>(Arena*);
+template<> ::message::Entrance_manual_operation_msg* Arena::CreateMaybeMessage<::message::Entrance_manual_operation_msg>(Arena*);
+template<> ::message::Entrance_statu* Arena::CreateMaybeMessage<::message::Entrance_statu>(Arena*);
+template<> ::message::Process_manual_operation_msg* Arena::CreateMaybeMessage<::message::Process_manual_operation_msg>(Arena*);
+}  // namespace protobuf
+}  // namespace google
 namespace message {
 
 enum Process_operation_type {
@@ -158,7 +154,7 @@ class Entrance_statu : public ::google::protobuf::Message /* @@protoc_insertion_
     return reinterpret_cast<const Entrance_statu*>(
                &_Entrance_statu_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     0;
 
   void Swap(Entrance_statu* other);
@@ -168,28 +164,33 @@ class Entrance_statu : public ::google::protobuf::Message /* @@protoc_insertion_
 
   // implements Message ----------------------------------------------
 
-  inline Entrance_statu* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Entrance_statu* New() const final {
+    return CreateMaybeMessage<Entrance_statu>(NULL);
+  }
 
-  Entrance_statu* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Entrance_statu* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Entrance_statu>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Entrance_statu& from);
   void MergeFrom(const Entrance_statu& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Entrance_statu* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -200,7 +201,7 @@ class Entrance_statu : public ::google::protobuf::Message /* @@protoc_insertion_
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -247,13 +248,12 @@ class Entrance_statu : public ::google::protobuf::Message /* @@protoc_insertion_
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   bool paused_;
   int parkspace_statu_;
   int measure_statu_;
   int dispatch_statu_;
   friend struct ::protobuf_central_5fcontrol_5fmessage_2eproto::TableStruct;
-  friend void ::protobuf_central_5fcontrol_5fmessage_2eproto::InitDefaultsEntrance_statuImpl();
 };
 // -------------------------------------------------------------------
 
@@ -298,7 +298,7 @@ class Central_controller_statu_msg : public ::google::protobuf::Message /* @@pro
     return reinterpret_cast<const Central_controller_statu_msg*>(
                &_Central_controller_statu_msg_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     1;
 
   void Swap(Central_controller_statu_msg* other);
@@ -308,28 +308,33 @@ class Central_controller_statu_msg : public ::google::protobuf::Message /* @@pro
 
   // implements Message ----------------------------------------------
 
-  inline Central_controller_statu_msg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Central_controller_statu_msg* New() const final {
+    return CreateMaybeMessage<Central_controller_statu_msg>(NULL);
+  }
 
-  Central_controller_statu_msg* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Central_controller_statu_msg* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Central_controller_statu_msg>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Central_controller_statu_msg& from);
   void MergeFrom(const Central_controller_statu_msg& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Central_controller_statu_msg* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -340,7 +345,7 @@ class Central_controller_statu_msg : public ::google::protobuf::Message /* @@pro
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -350,11 +355,11 @@ class Central_controller_statu_msg : public ::google::protobuf::Message /* @@pro
   int entrance_statu_vector_size() const;
   void clear_entrance_statu_vector();
   static const int kEntranceStatuVectorFieldNumber = 2;
-  const ::message::Entrance_statu& entrance_statu_vector(int index) const;
   ::message::Entrance_statu* mutable_entrance_statu_vector(int index);
-  ::message::Entrance_statu* add_entrance_statu_vector();
   ::google::protobuf::RepeatedPtrField< ::message::Entrance_statu >*
       mutable_entrance_statu_vector();
+  const ::message::Entrance_statu& entrance_statu_vector(int index) const;
+  ::message::Entrance_statu* add_entrance_statu_vector();
   const ::google::protobuf::RepeatedPtrField< ::message::Entrance_statu >&
       entrance_statu_vector() const;
 
@@ -362,11 +367,11 @@ class Central_controller_statu_msg : public ::google::protobuf::Message /* @@pro
   int export_statu_vector_size() const;
   void clear_export_statu_vector();
   static const int kExportStatuVectorFieldNumber = 3;
-  const ::message::Entrance_statu& export_statu_vector(int index) const;
   ::message::Entrance_statu* mutable_export_statu_vector(int index);
-  ::message::Entrance_statu* add_export_statu_vector();
   ::google::protobuf::RepeatedPtrField< ::message::Entrance_statu >*
       mutable_export_statu_vector();
+  const ::message::Entrance_statu& export_statu_vector(int index) const;
+  ::message::Entrance_statu* add_export_statu_vector();
   const ::google::protobuf::RepeatedPtrField< ::message::Entrance_statu >&
       export_statu_vector() const;
 
@@ -374,6 +379,9 @@ class Central_controller_statu_msg : public ::google::protobuf::Message /* @@pro
   bool has_base_info() const;
   void clear_base_info();
   static const int kBaseInfoFieldNumber = 1;
+  private:
+  const ::message::Base_info& _internal_base_info() const;
+  public:
   const ::message::Base_info& base_info() const;
   ::message::Base_info* release_base_info();
   ::message::Base_info* mutable_base_info();
@@ -386,12 +394,11 @@ class Central_controller_statu_msg : public ::google::protobuf::Message /* @@pro
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::google::protobuf::RepeatedPtrField< ::message::Entrance_statu > entrance_statu_vector_;
   ::google::protobuf::RepeatedPtrField< ::message::Entrance_statu > export_statu_vector_;
   ::message::Base_info* base_info_;
   friend struct ::protobuf_central_5fcontrol_5fmessage_2eproto::TableStruct;
-  friend void ::protobuf_central_5fcontrol_5fmessage_2eproto::InitDefaultsCentral_controller_statu_msgImpl();
 };
 // -------------------------------------------------------------------
 
@@ -436,7 +443,7 @@ class Entrance_manual_operation_msg : public ::google::protobuf::Message /* @@pr
     return reinterpret_cast<const Entrance_manual_operation_msg*>(
                &_Entrance_manual_operation_msg_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     2;
 
   void Swap(Entrance_manual_operation_msg* other);
@@ -446,28 +453,33 @@ class Entrance_manual_operation_msg : public ::google::protobuf::Message /* @@pr
 
   // implements Message ----------------------------------------------
 
-  inline Entrance_manual_operation_msg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Entrance_manual_operation_msg* New() const final {
+    return CreateMaybeMessage<Entrance_manual_operation_msg>(NULL);
+  }
 
-  Entrance_manual_operation_msg* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Entrance_manual_operation_msg* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Entrance_manual_operation_msg>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Entrance_manual_operation_msg& from);
   void MergeFrom(const Entrance_manual_operation_msg& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Entrance_manual_operation_msg* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -478,7 +490,7 @@ class Entrance_manual_operation_msg : public ::google::protobuf::Message /* @@pr
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -488,6 +500,9 @@ class Entrance_manual_operation_msg : public ::google::protobuf::Message /* @@pr
   bool has_base_info() const;
   void clear_base_info();
   static const int kBaseInfoFieldNumber = 1;
+  private:
+  const ::message::Base_info& _internal_base_info() const;
+  public:
   const ::message::Base_info& base_info() const;
   ::message::Base_info* release_base_info();
   ::message::Base_info* mutable_base_info();
@@ -530,13 +545,12 @@ class Entrance_manual_operation_msg : public ::google::protobuf::Message /* @@pr
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::message::Base_info* base_info_;
   ::google::protobuf::int32 terminal_id_;
   bool paused_;
   int process_type_;
   friend struct ::protobuf_central_5fcontrol_5fmessage_2eproto::TableStruct;
-  friend void ::protobuf_central_5fcontrol_5fmessage_2eproto::InitDefaultsEntrance_manual_operation_msgImpl();
 };
 // -------------------------------------------------------------------
 
@@ -581,7 +595,7 @@ class Process_manual_operation_msg : public ::google::protobuf::Message /* @@pro
     return reinterpret_cast<const Process_manual_operation_msg*>(
                &_Process_manual_operation_msg_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     3;
 
   void Swap(Process_manual_operation_msg* other);
@@ -591,28 +605,33 @@ class Process_manual_operation_msg : public ::google::protobuf::Message /* @@pro
 
   // implements Message ----------------------------------------------
 
-  inline Process_manual_operation_msg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Process_manual_operation_msg* New() const final {
+    return CreateMaybeMessage<Process_manual_operation_msg>(NULL);
+  }
 
-  Process_manual_operation_msg* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Process_manual_operation_msg* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Process_manual_operation_msg>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Process_manual_operation_msg& from);
   void MergeFrom(const Process_manual_operation_msg& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Process_manual_operation_msg* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -623,7 +642,7 @@ class Process_manual_operation_msg : public ::google::protobuf::Message /* @@pro
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -648,6 +667,9 @@ class Process_manual_operation_msg : public ::google::protobuf::Message /* @@pro
   bool has_base_info() const;
   void clear_base_info();
   static const int kBaseInfoFieldNumber = 1;
+  private:
+  const ::message::Base_info& _internal_base_info() const;
+  public:
   const ::message::Base_info& base_info() const;
   ::message::Base_info* release_base_info();
   ::message::Base_info* mutable_base_info();
@@ -683,13 +705,12 @@ class Process_manual_operation_msg : public ::google::protobuf::Message /* @@pro
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::google::protobuf::internal::ArenaStringPtr license_;
   ::message::Base_info* base_info_;
   int step_type_;
   int operate_type_;
   friend struct ::protobuf_central_5fcontrol_5fmessage_2eproto::TableStruct;
-  friend void ::protobuf_central_5fcontrol_5fmessage_2eproto::InitDefaultsProcess_manual_operation_msgImpl();
 };
 // ===================================================================
 
@@ -815,6 +836,9 @@ inline void Central_controller_statu_msg::set_has_base_info() {
 inline void Central_controller_statu_msg::clear_has_base_info() {
   _has_bits_[0] &= ~0x00000001u;
 }
+inline const ::message::Base_info& Central_controller_statu_msg::_internal_base_info() const {
+  return *base_info_;
+}
 inline const ::message::Base_info& Central_controller_statu_msg::base_info() const {
   const ::message::Base_info* p = base_info_;
   // @@protoc_insertion_point(field_get:message.Central_controller_statu_msg.base_info)
@@ -831,7 +855,8 @@ inline ::message::Base_info* Central_controller_statu_msg::release_base_info() {
 inline ::message::Base_info* Central_controller_statu_msg::mutable_base_info() {
   set_has_base_info();
   if (base_info_ == NULL) {
-    base_info_ = new ::message::Base_info;
+    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
+    base_info_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Central_controller_statu_msg.base_info)
   return base_info_;
@@ -862,23 +887,23 @@ inline int Central_controller_statu_msg::entrance_statu_vector_size() const {
 inline void Central_controller_statu_msg::clear_entrance_statu_vector() {
   entrance_statu_vector_.Clear();
 }
-inline const ::message::Entrance_statu& Central_controller_statu_msg::entrance_statu_vector(int index) const {
-  // @@protoc_insertion_point(field_get:message.Central_controller_statu_msg.entrance_statu_vector)
-  return entrance_statu_vector_.Get(index);
-}
 inline ::message::Entrance_statu* Central_controller_statu_msg::mutable_entrance_statu_vector(int index) {
   // @@protoc_insertion_point(field_mutable:message.Central_controller_statu_msg.entrance_statu_vector)
   return entrance_statu_vector_.Mutable(index);
 }
-inline ::message::Entrance_statu* Central_controller_statu_msg::add_entrance_statu_vector() {
-  // @@protoc_insertion_point(field_add:message.Central_controller_statu_msg.entrance_statu_vector)
-  return entrance_statu_vector_.Add();
-}
 inline ::google::protobuf::RepeatedPtrField< ::message::Entrance_statu >*
 Central_controller_statu_msg::mutable_entrance_statu_vector() {
   // @@protoc_insertion_point(field_mutable_list:message.Central_controller_statu_msg.entrance_statu_vector)
   return &entrance_statu_vector_;
 }
+inline const ::message::Entrance_statu& Central_controller_statu_msg::entrance_statu_vector(int index) const {
+  // @@protoc_insertion_point(field_get:message.Central_controller_statu_msg.entrance_statu_vector)
+  return entrance_statu_vector_.Get(index);
+}
+inline ::message::Entrance_statu* Central_controller_statu_msg::add_entrance_statu_vector() {
+  // @@protoc_insertion_point(field_add:message.Central_controller_statu_msg.entrance_statu_vector)
+  return entrance_statu_vector_.Add();
+}
 inline const ::google::protobuf::RepeatedPtrField< ::message::Entrance_statu >&
 Central_controller_statu_msg::entrance_statu_vector() const {
   // @@protoc_insertion_point(field_list:message.Central_controller_statu_msg.entrance_statu_vector)
@@ -892,23 +917,23 @@ inline int Central_controller_statu_msg::export_statu_vector_size() const {
 inline void Central_controller_statu_msg::clear_export_statu_vector() {
   export_statu_vector_.Clear();
 }
-inline const ::message::Entrance_statu& Central_controller_statu_msg::export_statu_vector(int index) const {
-  // @@protoc_insertion_point(field_get:message.Central_controller_statu_msg.export_statu_vector)
-  return export_statu_vector_.Get(index);
-}
 inline ::message::Entrance_statu* Central_controller_statu_msg::mutable_export_statu_vector(int index) {
   // @@protoc_insertion_point(field_mutable:message.Central_controller_statu_msg.export_statu_vector)
   return export_statu_vector_.Mutable(index);
 }
-inline ::message::Entrance_statu* Central_controller_statu_msg::add_export_statu_vector() {
-  // @@protoc_insertion_point(field_add:message.Central_controller_statu_msg.export_statu_vector)
-  return export_statu_vector_.Add();
-}
 inline ::google::protobuf::RepeatedPtrField< ::message::Entrance_statu >*
 Central_controller_statu_msg::mutable_export_statu_vector() {
   // @@protoc_insertion_point(field_mutable_list:message.Central_controller_statu_msg.export_statu_vector)
   return &export_statu_vector_;
 }
+inline const ::message::Entrance_statu& Central_controller_statu_msg::export_statu_vector(int index) const {
+  // @@protoc_insertion_point(field_get:message.Central_controller_statu_msg.export_statu_vector)
+  return export_statu_vector_.Get(index);
+}
+inline ::message::Entrance_statu* Central_controller_statu_msg::add_export_statu_vector() {
+  // @@protoc_insertion_point(field_add:message.Central_controller_statu_msg.export_statu_vector)
+  return export_statu_vector_.Add();
+}
 inline const ::google::protobuf::RepeatedPtrField< ::message::Entrance_statu >&
 Central_controller_statu_msg::export_statu_vector() const {
   // @@protoc_insertion_point(field_list:message.Central_controller_statu_msg.export_statu_vector)
@@ -929,6 +954,9 @@ inline void Entrance_manual_operation_msg::set_has_base_info() {
 inline void Entrance_manual_operation_msg::clear_has_base_info() {
   _has_bits_[0] &= ~0x00000001u;
 }
+inline const ::message::Base_info& Entrance_manual_operation_msg::_internal_base_info() const {
+  return *base_info_;
+}
 inline const ::message::Base_info& Entrance_manual_operation_msg::base_info() const {
   const ::message::Base_info* p = base_info_;
   // @@protoc_insertion_point(field_get:message.Entrance_manual_operation_msg.base_info)
@@ -945,7 +973,8 @@ inline ::message::Base_info* Entrance_manual_operation_msg::release_base_info()
 inline ::message::Base_info* Entrance_manual_operation_msg::mutable_base_info() {
   set_has_base_info();
   if (base_info_ == NULL) {
-    base_info_ = new ::message::Base_info;
+    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
+    base_info_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Entrance_manual_operation_msg.base_info)
   return base_info_;
@@ -1056,6 +1085,9 @@ inline void Process_manual_operation_msg::set_has_base_info() {
 inline void Process_manual_operation_msg::clear_has_base_info() {
   _has_bits_[0] &= ~0x00000002u;
 }
+inline const ::message::Base_info& Process_manual_operation_msg::_internal_base_info() const {
+  return *base_info_;
+}
 inline const ::message::Base_info& Process_manual_operation_msg::base_info() const {
   const ::message::Base_info* p = base_info_;
   // @@protoc_insertion_point(field_get:message.Process_manual_operation_msg.base_info)
@@ -1072,7 +1104,8 @@ inline ::message::Base_info* Process_manual_operation_msg::release_base_info() {
 inline ::message::Base_info* Process_manual_operation_msg::mutable_base_info() {
   set_has_base_info();
   if (base_info_ == NULL) {
-    base_info_ = new ::message::Base_info;
+    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
+    base_info_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Process_manual_operation_msg.base_info)
   return base_info_;
@@ -1146,8 +1179,11 @@ inline ::std::string* Process_manual_operation_msg::mutable_license() {
 }
 inline ::std::string* Process_manual_operation_msg::release_license() {
   // @@protoc_insertion_point(field_release:message.Process_manual_operation_msg.license)
+  if (!has_license()) {
+    return NULL;
+  }
   clear_has_license();
-  return license_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  return license_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
 }
 inline void Process_manual_operation_msg::set_allocated_license(::std::string* license) {
   if (license != NULL) {
@@ -1226,12 +1262,12 @@ inline void Process_manual_operation_msg::set_operate_type(::message::Process_op
 namespace google {
 namespace protobuf {
 
-template <> struct is_proto_enum< ::message::Process_operation_type> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Process_operation_type> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Process_operation_type>() {
   return ::message::Process_operation_type_descriptor();
 }
-template <> struct is_proto_enum< ::message::Module_statu> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Module_statu> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Module_statu>() {
   return ::message::Module_statu_descriptor();
@@ -1242,4 +1278,4 @@ inline const EnumDescriptor* GetEnumDescriptor< ::message::Module_statu>() {
 
 // @@protoc_insertion_point(global_scope)
 
-#endif  // PROTOBUF_central_5fcontrol_5fmessage_2eproto__INCLUDED
+#endif  // PROTOBUF_INCLUDED_central_5fcontrol_5fmessage_2eproto

+ 121 - 200
message/dispatch_message.pb.cc

@@ -7,7 +7,6 @@
 
 #include <google/protobuf/stubs/common.h>
 #include <google/protobuf/stubs/port.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>
@@ -19,6 +18,12 @@
 #include "third_party/protobuf/version.h"
 #endif
 // @@protoc_insertion_point(includes)
+
+namespace protobuf_message_5fbase_2eproto {
+extern PROTOBUF_INTERNAL_EXPORT_protobuf_message_5fbase_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Base_info;
+extern PROTOBUF_INTERNAL_EXPORT_protobuf_message_5fbase_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Error_manager;
+extern PROTOBUF_INTERNAL_EXPORT_protobuf_message_5fbase_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Locate_information;
+}  // namespace protobuf_message_5fbase_2eproto
 namespace message {
 class Device_positionDefaultTypeInternal {
  public:
@@ -47,14 +52,9 @@ class Dispatch_response_msgDefaultTypeInternal {
 } _Dispatch_response_msg_default_instance_;
 }  // namespace message
 namespace protobuf_dispatch_5fmessage_2eproto {
-void InitDefaultsDevice_positionImpl() {
+static void InitDefaultsDevice_position() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
   {
     void* ptr = &::message::_Device_position_default_instance_;
     new (ptr) ::message::Device_position();
@@ -63,20 +63,12 @@ void InitDefaultsDevice_positionImpl() {
   ::message::Device_position::InitAsDefaultInstance();
 }
 
-void InitDefaultsDevice_position() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsDevice_positionImpl);
-}
+::google::protobuf::internal::SCCInfo<0> scc_info_Device_position =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsDevice_position}, {}};
 
-void InitDefaultsDispatch_manager_status_msgImpl() {
+static void InitDefaultsDispatch_manager_status_msg() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
   {
     void* ptr = &::message::_Dispatch_manager_status_msg_default_instance_;
     new (ptr) ::message::Dispatch_manager_status_msg();
@@ -85,20 +77,13 @@ void InitDefaultsDispatch_manager_status_msgImpl() {
   ::message::Dispatch_manager_status_msg::InitAsDefaultInstance();
 }
 
-void InitDefaultsDispatch_manager_status_msg() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsDispatch_manager_status_msgImpl);
-}
+::google::protobuf::internal::SCCInfo<1> scc_info_Dispatch_manager_status_msg =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsDispatch_manager_status_msg}, {
+      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,}};
 
-void InitDefaultsDispatch_terminal_status_msgImpl() {
+static void InitDefaultsDispatch_terminal_status_msg() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
   {
     void* ptr = &::message::_Dispatch_terminal_status_msg_default_instance_;
     new (ptr) ::message::Dispatch_terminal_status_msg();
@@ -107,21 +92,13 @@ void InitDefaultsDispatch_terminal_status_msgImpl() {
   ::message::Dispatch_terminal_status_msg::InitAsDefaultInstance();
 }
 
-void InitDefaultsDispatch_terminal_status_msg() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsDispatch_terminal_status_msgImpl);
-}
+::google::protobuf::internal::SCCInfo<1> scc_info_Dispatch_terminal_status_msg =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsDispatch_terminal_status_msg}, {
+      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,}};
 
-void InitDefaultsDispatch_request_msgImpl() {
+static void InitDefaultsDispatch_request_msg() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
-  protobuf_message_5fbase_2eproto::InitDefaultsLocate_information();
   {
     void* ptr = &::message::_Dispatch_request_msg_default_instance_;
     new (ptr) ::message::Dispatch_request_msg();
@@ -130,21 +107,14 @@ void InitDefaultsDispatch_request_msgImpl() {
   ::message::Dispatch_request_msg::InitAsDefaultInstance();
 }
 
-void InitDefaultsDispatch_request_msg() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsDispatch_request_msgImpl);
-}
+::google::protobuf::internal::SCCInfo<2> scc_info_Dispatch_request_msg =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsDispatch_request_msg}, {
+      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,
+      &protobuf_message_5fbase_2eproto::scc_info_Locate_information.base,}};
 
-void InitDefaultsDispatch_response_msgImpl() {
+static void InitDefaultsDispatch_response_msg() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
-  protobuf_message_5fbase_2eproto::InitDefaultsError_manager();
   {
     void* ptr = &::message::_Dispatch_response_msg_default_instance_;
     new (ptr) ::message::Dispatch_response_msg();
@@ -153,9 +123,17 @@ void InitDefaultsDispatch_response_msgImpl() {
   ::message::Dispatch_response_msg::InitAsDefaultInstance();
 }
 
-void InitDefaultsDispatch_response_msg() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsDispatch_response_msgImpl);
+::google::protobuf::internal::SCCInfo<2> scc_info_Dispatch_response_msg =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsDispatch_response_msg}, {
+      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,
+      &protobuf_message_5fbase_2eproto::scc_info_Error_manager.base,}};
+
+void InitDefaults() {
+  ::google::protobuf::internal::InitSCC(&scc_info_Device_position.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_Dispatch_manager_status_msg.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_Dispatch_terminal_status_msg.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_Dispatch_request_msg.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_Dispatch_response_msg.base);
 }
 
 ::google::protobuf::Metadata file_level_metadata[5];
@@ -252,15 +230,14 @@ static ::google::protobuf::Message const * const file_default_instances[] = {
 
 void protobuf_AssignDescriptors() {
   AddDescriptors();
-  ::google::protobuf::MessageFactory* factory = NULL;
   AssignDescriptors(
-      "dispatch_message.proto", schemas, file_default_instances, TableStruct::offsets, factory,
+      "dispatch_message.proto", schemas, file_default_instances, TableStruct::offsets,
       file_level_metadata, file_level_enum_descriptors, NULL);
 }
 
 void protobuf_AssignDescriptorsOnce() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
+  static ::google::protobuf::internal::once_flag once;
+  ::google::protobuf::internal::call_once(once, protobuf_AssignDescriptors);
 }
 
 void protobuf_RegisterTypes(const ::std::string&) GOOGLE_PROTOBUF_ATTRIBUTE_COLD;
@@ -332,8 +309,8 @@ void AddDescriptorsImpl() {
 }
 
 void AddDescriptors() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
+  static ::google::protobuf::internal::once_flag once;
+  ::google::protobuf::internal::call_once(once, AddDescriptorsImpl);
 }
 // Force AddDescriptors() to be called at dynamic initialization time.
 struct StaticDescriptorInitializer {
@@ -487,17 +464,15 @@ const int Device_position::kZFieldNumber;
 
 Device_position::Device_position()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_dispatch_5fmessage_2eproto::InitDefaultsDevice_position();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_dispatch_5fmessage_2eproto::scc_info_Device_position.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Device_position)
 }
 Device_position::Device_position(const Device_position& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
+      _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   ::memcpy(&x_, &from.x_,
     static_cast<size_t>(reinterpret_cast<char*>(&z_) -
@@ -506,7 +481,6 @@ Device_position::Device_position(const Device_position& from)
 }
 
 void Device_position::SharedCtor() {
-  _cached_size_ = 0;
   ::memset(&x_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&z_) -
       reinterpret_cast<char*>(&x_)) + sizeof(z_));
@@ -521,9 +495,7 @@ void Device_position::SharedDtor() {
 }
 
 void Device_position::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Device_position::descriptor() {
   ::protobuf_dispatch_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
@@ -531,17 +503,10 @@ const ::google::protobuf::Descriptor* Device_position::descriptor() {
 }
 
 const Device_position& Device_position::default_instance() {
-  ::protobuf_dispatch_5fmessage_2eproto::InitDefaultsDevice_position();
+  ::google::protobuf::internal::InitSCC(&protobuf_dispatch_5fmessage_2eproto::scc_info_Device_position.base);
   return *internal_default_instance();
 }
 
-Device_position* Device_position::New(::google::protobuf::Arena* arena) const {
-  Device_position* n = new Device_position;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Device_position::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Device_position)
@@ -565,7 +530,7 @@ bool Device_position::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Device_position)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -735,9 +700,7 @@ size_t Device_position::ByteSizeLong() const {
     total_size += RequiredFieldsByteSizeFallback();
   }
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -808,7 +771,6 @@ void Device_position::InternalSwap(Device_position* other) {
   swap(z_, other->z_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Device_position::GetMetadata() const {
@@ -839,9 +801,8 @@ const int Dispatch_manager_status_msg::kPassagewayStatusFieldNumber;
 
 Dispatch_manager_status_msg::Dispatch_manager_status_msg()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_dispatch_5fmessage_2eproto::InitDefaultsDispatch_manager_status_msg();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_dispatch_5fmessage_2eproto::scc_info_Dispatch_manager_status_msg.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Dispatch_manager_status_msg)
 }
@@ -849,7 +810,6 @@ Dispatch_manager_status_msg::Dispatch_manager_status_msg(const Dispatch_manager_
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
       _has_bits_(from._has_bits_),
-      _cached_size_(0),
       catcher_status_(from.catcher_status_),
       carrier_status_(from.carrier_status_),
       elevator_status_(from.elevator_status_),
@@ -867,7 +827,6 @@ Dispatch_manager_status_msg::Dispatch_manager_status_msg(const Dispatch_manager_
 }
 
 void Dispatch_manager_status_msg::SharedCtor() {
-  _cached_size_ = 0;
   ::memset(&base_info_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&dispatch_manager_status_) -
       reinterpret_cast<char*>(&base_info_)) + sizeof(dispatch_manager_status_));
@@ -883,9 +842,7 @@ void Dispatch_manager_status_msg::SharedDtor() {
 }
 
 void Dispatch_manager_status_msg::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Dispatch_manager_status_msg::descriptor() {
   ::protobuf_dispatch_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
@@ -893,17 +850,10 @@ const ::google::protobuf::Descriptor* Dispatch_manager_status_msg::descriptor()
 }
 
 const Dispatch_manager_status_msg& Dispatch_manager_status_msg::default_instance() {
-  ::protobuf_dispatch_5fmessage_2eproto::InitDefaultsDispatch_manager_status_msg();
+  ::google::protobuf::internal::InitSCC(&protobuf_dispatch_5fmessage_2eproto::scc_info_Dispatch_manager_status_msg.base);
   return *internal_default_instance();
 }
 
-Dispatch_manager_status_msg* Dispatch_manager_status_msg::New(::google::protobuf::Arena* arena) const {
-  Dispatch_manager_status_msg* n = new Dispatch_manager_status_msg;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Dispatch_manager_status_msg::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Dispatch_manager_status_msg)
@@ -935,7 +885,7 @@ bool Dispatch_manager_status_msg::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Dispatch_manager_status_msg)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -1131,7 +1081,7 @@ void Dispatch_manager_status_msg::SerializeWithCachedSizes(
   // required .message.Base_info base_info = 1;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, *this->base_info_, output);
+      1, this->_internal_base_info(), output);
   }
 
   // required int32 dispatch_id = 2;
@@ -1188,7 +1138,7 @@ void Dispatch_manager_status_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000001u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        1, *this->base_info_, deterministic, target);
+        1, this->_internal_base_info(), deterministic, target);
   }
 
   // required int32 dispatch_id = 2;
@@ -1234,7 +1184,7 @@ size_t Dispatch_manager_status_msg::RequiredFieldsByteSizeFallback() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
   }
 
   if (has_dispatch_id()) {
@@ -1265,7 +1215,7 @@ size_t Dispatch_manager_status_msg::ByteSizeLong() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
 
     // required int32 dispatch_id = 2;
     total_size += 1 +
@@ -1320,9 +1270,7 @@ size_t Dispatch_manager_status_msg::ByteSizeLong() const {
   }
 
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -1404,7 +1352,6 @@ void Dispatch_manager_status_msg::InternalSwap(Dispatch_manager_status_msg* othe
   swap(dispatch_manager_status_, other->dispatch_manager_status_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Dispatch_manager_status_msg::GetMetadata() const {
@@ -1432,17 +1379,15 @@ const int Dispatch_terminal_status_msg::kPassagewayDirectionFieldNumber;
 
 Dispatch_terminal_status_msg::Dispatch_terminal_status_msg()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_dispatch_5fmessage_2eproto::InitDefaultsDispatch_terminal_status_msg();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_dispatch_5fmessage_2eproto::scc_info_Dispatch_terminal_status_msg.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Dispatch_terminal_status_msg)
 }
 Dispatch_terminal_status_msg::Dispatch_terminal_status_msg(const Dispatch_terminal_status_msg& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
+      _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   if (from.has_base_info()) {
     base_info_ = new ::message::Base_info(*from.base_info_);
@@ -1456,7 +1401,6 @@ Dispatch_terminal_status_msg::Dispatch_terminal_status_msg(const Dispatch_termin
 }
 
 void Dispatch_terminal_status_msg::SharedCtor() {
-  _cached_size_ = 0;
   ::memset(&base_info_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&passageway_direction_) -
       reinterpret_cast<char*>(&base_info_)) + sizeof(passageway_direction_));
@@ -1472,9 +1416,7 @@ void Dispatch_terminal_status_msg::SharedDtor() {
 }
 
 void Dispatch_terminal_status_msg::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Dispatch_terminal_status_msg::descriptor() {
   ::protobuf_dispatch_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
@@ -1482,17 +1424,10 @@ const ::google::protobuf::Descriptor* Dispatch_terminal_status_msg::descriptor()
 }
 
 const Dispatch_terminal_status_msg& Dispatch_terminal_status_msg::default_instance() {
-  ::protobuf_dispatch_5fmessage_2eproto::InitDefaultsDispatch_terminal_status_msg();
+  ::google::protobuf::internal::InitSCC(&protobuf_dispatch_5fmessage_2eproto::scc_info_Dispatch_terminal_status_msg.base);
   return *internal_default_instance();
 }
 
-Dispatch_terminal_status_msg* Dispatch_terminal_status_msg::New(::google::protobuf::Arena* arena) const {
-  Dispatch_terminal_status_msg* n = new Dispatch_terminal_status_msg;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Dispatch_terminal_status_msg::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Dispatch_terminal_status_msg)
@@ -1520,7 +1455,7 @@ bool Dispatch_terminal_status_msg::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Dispatch_terminal_status_msg)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -1620,7 +1555,7 @@ void Dispatch_terminal_status_msg::SerializeWithCachedSizes(
   // required .message.Base_info base_info = 1;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, *this->base_info_, output);
+      1, this->_internal_base_info(), output);
   }
 
   // required int32 terminal_id = 2;
@@ -1659,7 +1594,7 @@ void Dispatch_terminal_status_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000001u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        1, *this->base_info_, deterministic, target);
+        1, this->_internal_base_info(), deterministic, target);
   }
 
   // required int32 terminal_id = 2;
@@ -1695,7 +1630,7 @@ size_t Dispatch_terminal_status_msg::RequiredFieldsByteSizeFallback() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
   }
 
   if (has_terminal_id()) {
@@ -1732,7 +1667,7 @@ size_t Dispatch_terminal_status_msg::ByteSizeLong() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
 
     // required int32 terminal_id = 2;
     total_size += 1 +
@@ -1751,9 +1686,7 @@ size_t Dispatch_terminal_status_msg::ByteSizeLong() const {
     total_size += RequiredFieldsByteSizeFallback();
   }
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -1831,7 +1764,6 @@ void Dispatch_terminal_status_msg::InternalSwap(Dispatch_terminal_status_msg* ot
   swap(passageway_direction_, other->passageway_direction_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Dispatch_terminal_status_msg::GetMetadata() const {
@@ -1867,17 +1799,15 @@ const int Dispatch_request_msg::kLocateInformationFieldNumber;
 
 Dispatch_request_msg::Dispatch_request_msg()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_dispatch_5fmessage_2eproto::InitDefaultsDispatch_request_msg();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_dispatch_5fmessage_2eproto::scc_info_Dispatch_request_msg.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Dispatch_request_msg)
 }
 Dispatch_request_msg::Dispatch_request_msg(const Dispatch_request_msg& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
+      _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (from.has_command_key()) {
@@ -1900,7 +1830,6 @@ Dispatch_request_msg::Dispatch_request_msg(const Dispatch_request_msg& from)
 }
 
 void Dispatch_request_msg::SharedCtor() {
-  _cached_size_ = 0;
   command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   ::memset(&base_info_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&parkspace_id_) -
@@ -1919,9 +1848,7 @@ void Dispatch_request_msg::SharedDtor() {
 }
 
 void Dispatch_request_msg::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Dispatch_request_msg::descriptor() {
   ::protobuf_dispatch_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
@@ -1929,17 +1856,10 @@ const ::google::protobuf::Descriptor* Dispatch_request_msg::descriptor() {
 }
 
 const Dispatch_request_msg& Dispatch_request_msg::default_instance() {
-  ::protobuf_dispatch_5fmessage_2eproto::InitDefaultsDispatch_request_msg();
+  ::google::protobuf::internal::InitSCC(&protobuf_dispatch_5fmessage_2eproto::scc_info_Dispatch_request_msg.base);
   return *internal_default_instance();
 }
 
-Dispatch_request_msg* Dispatch_request_msg::New(::google::protobuf::Arena* arena) const {
-  Dispatch_request_msg* n = new Dispatch_request_msg;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Dispatch_request_msg::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Dispatch_request_msg)
@@ -1950,8 +1870,7 @@ void Dispatch_request_msg::Clear() {
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 7u) {
     if (cached_has_bits & 0x00000001u) {
-      GOOGLE_DCHECK(!command_key_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*command_key_.UnsafeRawStringPointer())->clear();
+      command_key_.ClearNonDefaultToEmptyNoArena();
     }
     if (cached_has_bits & 0x00000002u) {
       GOOGLE_DCHECK(base_info_ != NULL);
@@ -1977,7 +1896,7 @@ bool Dispatch_request_msg::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Dispatch_request_msg)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -2099,7 +2018,7 @@ void Dispatch_request_msg::SerializeWithCachedSizes(
   // required .message.Base_info base_info = 1;
   if (cached_has_bits & 0x00000002u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, *this->base_info_, output);
+      1, this->_internal_base_info(), output);
   }
 
   // required string command_key = 2;
@@ -2131,7 +2050,7 @@ void Dispatch_request_msg::SerializeWithCachedSizes(
   // optional .message.Locate_information locate_information = 6;
   if (cached_has_bits & 0x00000004u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      6, *this->locate_information_, output);
+      6, this->_internal_locate_information(), output);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -2153,7 +2072,7 @@ void Dispatch_request_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000002u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        1, *this->base_info_, deterministic, target);
+        1, this->_internal_base_info(), deterministic, target);
   }
 
   // required string command_key = 2;
@@ -2187,7 +2106,7 @@ void Dispatch_request_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000004u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        6, *this->locate_information_, deterministic, target);
+        6, this->_internal_locate_information(), deterministic, target);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -2213,7 +2132,7 @@ size_t Dispatch_request_msg::RequiredFieldsByteSizeFallback() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
   }
 
   if (has_dispatch_motion_direction()) {
@@ -2256,7 +2175,7 @@ size_t Dispatch_request_msg::ByteSizeLong() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
 
     // required .message.Dispatch_motion_direction dispatch_motion_direction = 3;
     total_size += 1 +
@@ -2279,13 +2198,11 @@ size_t Dispatch_request_msg::ByteSizeLong() const {
   if (has_locate_information()) {
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->locate_information_);
+        *locate_information_);
   }
 
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -2364,7 +2281,8 @@ void Dispatch_request_msg::Swap(Dispatch_request_msg* other) {
 }
 void Dispatch_request_msg::InternalSwap(Dispatch_request_msg* other) {
   using std::swap;
-  command_key_.Swap(&other->command_key_);
+  command_key_.Swap(&other->command_key_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+    GetArenaNoVirtual());
   swap(base_info_, other->base_info_);
   swap(locate_information_, other->locate_information_);
   swap(dispatch_motion_direction_, other->dispatch_motion_direction_);
@@ -2372,7 +2290,6 @@ void Dispatch_request_msg::InternalSwap(Dispatch_request_msg* other) {
   swap(parkspace_id_, other->parkspace_id_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Dispatch_request_msg::GetMetadata() const {
@@ -2405,17 +2322,15 @@ const int Dispatch_response_msg::kErrorManagerFieldNumber;
 
 Dispatch_response_msg::Dispatch_response_msg()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_dispatch_5fmessage_2eproto::InitDefaultsDispatch_response_msg();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_dispatch_5fmessage_2eproto::scc_info_Dispatch_response_msg.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Dispatch_response_msg)
 }
 Dispatch_response_msg::Dispatch_response_msg(const Dispatch_response_msg& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
+      _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (from.has_command_key()) {
@@ -2435,7 +2350,6 @@ Dispatch_response_msg::Dispatch_response_msg(const Dispatch_response_msg& from)
 }
 
 void Dispatch_response_msg::SharedCtor() {
-  _cached_size_ = 0;
   command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   ::memset(&base_info_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&error_manager_) -
@@ -2454,9 +2368,7 @@ void Dispatch_response_msg::SharedDtor() {
 }
 
 void Dispatch_response_msg::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Dispatch_response_msg::descriptor() {
   ::protobuf_dispatch_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
@@ -2464,17 +2376,10 @@ const ::google::protobuf::Descriptor* Dispatch_response_msg::descriptor() {
 }
 
 const Dispatch_response_msg& Dispatch_response_msg::default_instance() {
-  ::protobuf_dispatch_5fmessage_2eproto::InitDefaultsDispatch_response_msg();
+  ::google::protobuf::internal::InitSCC(&protobuf_dispatch_5fmessage_2eproto::scc_info_Dispatch_response_msg.base);
   return *internal_default_instance();
 }
 
-Dispatch_response_msg* Dispatch_response_msg::New(::google::protobuf::Arena* arena) const {
-  Dispatch_response_msg* n = new Dispatch_response_msg;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Dispatch_response_msg::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Dispatch_response_msg)
@@ -2485,8 +2390,7 @@ void Dispatch_response_msg::Clear() {
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 7u) {
     if (cached_has_bits & 0x00000001u) {
-      GOOGLE_DCHECK(!command_key_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*command_key_.UnsafeRawStringPointer())->clear();
+      command_key_.ClearNonDefaultToEmptyNoArena();
     }
     if (cached_has_bits & 0x00000002u) {
       GOOGLE_DCHECK(base_info_ != NULL);
@@ -2507,7 +2411,7 @@ bool Dispatch_response_msg::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Dispatch_response_msg)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -2581,7 +2485,7 @@ void Dispatch_response_msg::SerializeWithCachedSizes(
   // required .message.Base_info base_info = 1;
   if (cached_has_bits & 0x00000002u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, *this->base_info_, output);
+      1, this->_internal_base_info(), output);
   }
 
   // required string command_key = 2;
@@ -2597,7 +2501,7 @@ void Dispatch_response_msg::SerializeWithCachedSizes(
   // required .message.Error_manager error_manager = 3;
   if (cached_has_bits & 0x00000004u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      3, *this->error_manager_, output);
+      3, this->_internal_error_manager(), output);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -2619,7 +2523,7 @@ void Dispatch_response_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000002u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        1, *this->base_info_, deterministic, target);
+        1, this->_internal_base_info(), deterministic, target);
   }
 
   // required string command_key = 2;
@@ -2637,7 +2541,7 @@ void Dispatch_response_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000004u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        3, *this->error_manager_, deterministic, target);
+        3, this->_internal_error_manager(), deterministic, target);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -2663,14 +2567,14 @@ size_t Dispatch_response_msg::RequiredFieldsByteSizeFallback() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
   }
 
   if (has_error_manager()) {
     // required .message.Error_manager error_manager = 3;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->error_manager_);
+        *error_manager_);
   }
 
   return total_size;
@@ -2693,20 +2597,18 @@ size_t Dispatch_response_msg::ByteSizeLong() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
 
     // required .message.Error_manager error_manager = 3;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->error_manager_);
+        *error_manager_);
 
   } else {
     total_size += RequiredFieldsByteSizeFallback();
   }
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -2778,12 +2680,12 @@ void Dispatch_response_msg::Swap(Dispatch_response_msg* other) {
 }
 void Dispatch_response_msg::InternalSwap(Dispatch_response_msg* other) {
   using std::swap;
-  command_key_.Swap(&other->command_key_);
+  command_key_.Swap(&other->command_key_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+    GetArenaNoVirtual());
   swap(base_info_, other->base_info_);
   swap(error_manager_, other->error_manager_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Dispatch_response_msg::GetMetadata() const {
@@ -2794,5 +2696,24 @@ void Dispatch_response_msg::InternalSwap(Dispatch_response_msg* other) {
 
 // @@protoc_insertion_point(namespace_scope)
 }  // namespace message
+namespace google {
+namespace protobuf {
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Device_position* Arena::CreateMaybeMessage< ::message::Device_position >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Device_position >(arena);
+}
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Dispatch_manager_status_msg* Arena::CreateMaybeMessage< ::message::Dispatch_manager_status_msg >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Dispatch_manager_status_msg >(arena);
+}
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Dispatch_terminal_status_msg* Arena::CreateMaybeMessage< ::message::Dispatch_terminal_status_msg >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Dispatch_terminal_status_msg >(arena);
+}
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Dispatch_request_msg* Arena::CreateMaybeMessage< ::message::Dispatch_request_msg >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Dispatch_request_msg >(arena);
+}
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Dispatch_response_msg* Arena::CreateMaybeMessage< ::message::Dispatch_response_msg >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Dispatch_response_msg >(arena);
+}
+}  // namespace protobuf
+}  // namespace google
 
 // @@protoc_insertion_point(global_scope)

+ 180 - 118
message/dispatch_message.pb.h

@@ -1,19 +1,19 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: dispatch_message.proto
 
-#ifndef PROTOBUF_dispatch_5fmessage_2eproto__INCLUDED
-#define PROTOBUF_dispatch_5fmessage_2eproto__INCLUDED
+#ifndef PROTOBUF_INCLUDED_dispatch_5fmessage_2eproto
+#define PROTOBUF_INCLUDED_dispatch_5fmessage_2eproto
 
 #include <string>
 
 #include <google/protobuf/stubs/common.h>
 
-#if GOOGLE_PROTOBUF_VERSION < 3005000
+#if GOOGLE_PROTOBUF_VERSION < 3006001
 #error This file was generated by a newer version of protoc which is
 #error incompatible with your Protocol Buffer headers.  Please update
 #error your headers.
 #endif
-#if 3005000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
 #error This file was generated by an older version of protoc which is
 #error incompatible with your Protocol Buffer headers.  Please
 #error regenerate this file with a newer version of protoc.
@@ -24,6 +24,7 @@
 #include <google/protobuf/arenastring.h>
 #include <google/protobuf/generated_message_table_driven.h>
 #include <google/protobuf/generated_message_util.h>
+#include <google/protobuf/inlined_string_field.h>
 #include <google/protobuf/metadata.h>
 #include <google/protobuf/message.h>
 #include <google/protobuf/repeated_field.h>  // IWYU pragma: export
@@ -32,6 +33,7 @@
 #include <google/protobuf/unknown_field_set.h>
 #include "message_base.pb.h"
 // @@protoc_insertion_point(includes)
+#define PROTOBUF_INTERNAL_EXPORT_protobuf_dispatch_5fmessage_2eproto 
 
 namespace protobuf_dispatch_5fmessage_2eproto {
 // Internal implementation detail -- do not use these members.
@@ -44,23 +46,6 @@ struct TableStruct {
   static const ::google::protobuf::uint32 offsets[];
 };
 void AddDescriptors();
-void InitDefaultsDevice_positionImpl();
-void InitDefaultsDevice_position();
-void InitDefaultsDispatch_manager_status_msgImpl();
-void InitDefaultsDispatch_manager_status_msg();
-void InitDefaultsDispatch_terminal_status_msgImpl();
-void InitDefaultsDispatch_terminal_status_msg();
-void InitDefaultsDispatch_request_msgImpl();
-void InitDefaultsDispatch_request_msg();
-void InitDefaultsDispatch_response_msgImpl();
-void InitDefaultsDispatch_response_msg();
-inline void InitDefaults() {
-  InitDefaultsDevice_position();
-  InitDefaultsDispatch_manager_status_msg();
-  InitDefaultsDispatch_terminal_status_msg();
-  InitDefaultsDispatch_request_msg();
-  InitDefaultsDispatch_response_msg();
-}
 }  // namespace protobuf_dispatch_5fmessage_2eproto
 namespace message {
 class Device_position;
@@ -79,6 +64,15 @@ class Dispatch_terminal_status_msg;
 class Dispatch_terminal_status_msgDefaultTypeInternal;
 extern Dispatch_terminal_status_msgDefaultTypeInternal _Dispatch_terminal_status_msg_default_instance_;
 }  // namespace message
+namespace google {
+namespace protobuf {
+template<> ::message::Device_position* Arena::CreateMaybeMessage<::message::Device_position>(Arena*);
+template<> ::message::Dispatch_manager_status_msg* Arena::CreateMaybeMessage<::message::Dispatch_manager_status_msg>(Arena*);
+template<> ::message::Dispatch_request_msg* Arena::CreateMaybeMessage<::message::Dispatch_request_msg>(Arena*);
+template<> ::message::Dispatch_response_msg* Arena::CreateMaybeMessage<::message::Dispatch_response_msg>(Arena*);
+template<> ::message::Dispatch_terminal_status_msg* Arena::CreateMaybeMessage<::message::Dispatch_terminal_status_msg>(Arena*);
+}  // namespace protobuf
+}  // namespace google
 namespace message {
 
 enum Dispatch_manager_status {
@@ -295,7 +289,7 @@ class Device_position : public ::google::protobuf::Message /* @@protoc_insertion
     return reinterpret_cast<const Device_position*>(
                &_Device_position_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     0;
 
   void Swap(Device_position* other);
@@ -305,28 +299,33 @@ class Device_position : public ::google::protobuf::Message /* @@protoc_insertion
 
   // implements Message ----------------------------------------------
 
-  inline Device_position* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Device_position* New() const final {
+    return CreateMaybeMessage<Device_position>(NULL);
+  }
 
-  Device_position* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Device_position* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Device_position>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Device_position& from);
   void MergeFrom(const Device_position& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Device_position* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -337,7 +336,7 @@ class Device_position : public ::google::protobuf::Message /* @@protoc_insertion
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -378,12 +377,11 @@ class Device_position : public ::google::protobuf::Message /* @@protoc_insertion
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   float x_;
   float y_;
   float z_;
   friend struct ::protobuf_dispatch_5fmessage_2eproto::TableStruct;
-  friend void ::protobuf_dispatch_5fmessage_2eproto::InitDefaultsDevice_positionImpl();
 };
 // -------------------------------------------------------------------
 
@@ -428,7 +426,7 @@ class Dispatch_manager_status_msg : public ::google::protobuf::Message /* @@prot
     return reinterpret_cast<const Dispatch_manager_status_msg*>(
                &_Dispatch_manager_status_msg_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     1;
 
   void Swap(Dispatch_manager_status_msg* other);
@@ -438,28 +436,33 @@ class Dispatch_manager_status_msg : public ::google::protobuf::Message /* @@prot
 
   // implements Message ----------------------------------------------
 
-  inline Dispatch_manager_status_msg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Dispatch_manager_status_msg* New() const final {
+    return CreateMaybeMessage<Dispatch_manager_status_msg>(NULL);
+  }
 
-  Dispatch_manager_status_msg* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Dispatch_manager_status_msg* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Dispatch_manager_status_msg>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Dispatch_manager_status_msg& from);
   void MergeFrom(const Dispatch_manager_status_msg& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Dispatch_manager_status_msg* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -470,7 +473,7 @@ class Dispatch_manager_status_msg : public ::google::protobuf::Message /* @@prot
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -520,6 +523,9 @@ class Dispatch_manager_status_msg : public ::google::protobuf::Message /* @@prot
   bool has_base_info() const;
   void clear_base_info();
   static const int kBaseInfoFieldNumber = 1;
+  private:
+  const ::message::Base_info& _internal_base_info() const;
+  public:
   const ::message::Base_info& base_info() const;
   ::message::Base_info* release_base_info();
   ::message::Base_info* mutable_base_info();
@@ -553,7 +559,7 @@ class Dispatch_manager_status_msg : public ::google::protobuf::Message /* @@prot
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::google::protobuf::RepeatedField<int> catcher_status_;
   ::google::protobuf::RepeatedField<int> carrier_status_;
   ::google::protobuf::RepeatedField<int> elevator_status_;
@@ -562,7 +568,6 @@ class Dispatch_manager_status_msg : public ::google::protobuf::Message /* @@prot
   ::google::protobuf::int32 dispatch_id_;
   int dispatch_manager_status_;
   friend struct ::protobuf_dispatch_5fmessage_2eproto::TableStruct;
-  friend void ::protobuf_dispatch_5fmessage_2eproto::InitDefaultsDispatch_manager_status_msgImpl();
 };
 // -------------------------------------------------------------------
 
@@ -607,7 +612,7 @@ class Dispatch_terminal_status_msg : public ::google::protobuf::Message /* @@pro
     return reinterpret_cast<const Dispatch_terminal_status_msg*>(
                &_Dispatch_terminal_status_msg_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     2;
 
   void Swap(Dispatch_terminal_status_msg* other);
@@ -617,28 +622,33 @@ class Dispatch_terminal_status_msg : public ::google::protobuf::Message /* @@pro
 
   // implements Message ----------------------------------------------
 
-  inline Dispatch_terminal_status_msg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Dispatch_terminal_status_msg* New() const final {
+    return CreateMaybeMessage<Dispatch_terminal_status_msg>(NULL);
+  }
 
-  Dispatch_terminal_status_msg* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Dispatch_terminal_status_msg* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Dispatch_terminal_status_msg>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Dispatch_terminal_status_msg& from);
   void MergeFrom(const Dispatch_terminal_status_msg& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Dispatch_terminal_status_msg* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -649,7 +659,7 @@ class Dispatch_terminal_status_msg : public ::google::protobuf::Message /* @@pro
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -659,6 +669,9 @@ class Dispatch_terminal_status_msg : public ::google::protobuf::Message /* @@pro
   bool has_base_info() const;
   void clear_base_info();
   static const int kBaseInfoFieldNumber = 1;
+  private:
+  const ::message::Base_info& _internal_base_info() const;
+  public:
   const ::message::Base_info& base_info() const;
   ::message::Base_info* release_base_info();
   ::message::Base_info* mutable_base_info();
@@ -701,13 +714,12 @@ class Dispatch_terminal_status_msg : public ::google::protobuf::Message /* @@pro
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::message::Base_info* base_info_;
   ::google::protobuf::int32 terminal_id_;
   int terminal_status_;
   int passageway_direction_;
   friend struct ::protobuf_dispatch_5fmessage_2eproto::TableStruct;
-  friend void ::protobuf_dispatch_5fmessage_2eproto::InitDefaultsDispatch_terminal_status_msgImpl();
 };
 // -------------------------------------------------------------------
 
@@ -752,7 +764,7 @@ class Dispatch_request_msg : public ::google::protobuf::Message /* @@protoc_inse
     return reinterpret_cast<const Dispatch_request_msg*>(
                &_Dispatch_request_msg_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     3;
 
   void Swap(Dispatch_request_msg* other);
@@ -762,28 +774,33 @@ class Dispatch_request_msg : public ::google::protobuf::Message /* @@protoc_inse
 
   // implements Message ----------------------------------------------
 
-  inline Dispatch_request_msg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Dispatch_request_msg* New() const final {
+    return CreateMaybeMessage<Dispatch_request_msg>(NULL);
+  }
 
-  Dispatch_request_msg* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Dispatch_request_msg* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Dispatch_request_msg>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Dispatch_request_msg& from);
   void MergeFrom(const Dispatch_request_msg& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Dispatch_request_msg* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -794,7 +811,7 @@ class Dispatch_request_msg : public ::google::protobuf::Message /* @@protoc_inse
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -819,6 +836,9 @@ class Dispatch_request_msg : public ::google::protobuf::Message /* @@protoc_inse
   bool has_base_info() const;
   void clear_base_info();
   static const int kBaseInfoFieldNumber = 1;
+  private:
+  const ::message::Base_info& _internal_base_info() const;
+  public:
   const ::message::Base_info& base_info() const;
   ::message::Base_info* release_base_info();
   ::message::Base_info* mutable_base_info();
@@ -828,6 +848,9 @@ class Dispatch_request_msg : public ::google::protobuf::Message /* @@protoc_inse
   bool has_locate_information() const;
   void clear_locate_information();
   static const int kLocateInformationFieldNumber = 6;
+  private:
+  const ::message::Locate_information& _internal_locate_information() const;
+  public:
   const ::message::Locate_information& locate_information() const;
   ::message::Locate_information* release_locate_information();
   ::message::Locate_information* mutable_locate_information();
@@ -874,7 +897,7 @@ class Dispatch_request_msg : public ::google::protobuf::Message /* @@protoc_inse
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::google::protobuf::internal::ArenaStringPtr command_key_;
   ::message::Base_info* base_info_;
   ::message::Locate_information* locate_information_;
@@ -882,7 +905,6 @@ class Dispatch_request_msg : public ::google::protobuf::Message /* @@protoc_inse
   ::google::protobuf::int32 terminal_id_;
   ::google::protobuf::int32 parkspace_id_;
   friend struct ::protobuf_dispatch_5fmessage_2eproto::TableStruct;
-  friend void ::protobuf_dispatch_5fmessage_2eproto::InitDefaultsDispatch_request_msgImpl();
 };
 // -------------------------------------------------------------------
 
@@ -927,7 +949,7 @@ class Dispatch_response_msg : public ::google::protobuf::Message /* @@protoc_ins
     return reinterpret_cast<const Dispatch_response_msg*>(
                &_Dispatch_response_msg_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     4;
 
   void Swap(Dispatch_response_msg* other);
@@ -937,28 +959,33 @@ class Dispatch_response_msg : public ::google::protobuf::Message /* @@protoc_ins
 
   // implements Message ----------------------------------------------
 
-  inline Dispatch_response_msg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Dispatch_response_msg* New() const final {
+    return CreateMaybeMessage<Dispatch_response_msg>(NULL);
+  }
 
-  Dispatch_response_msg* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Dispatch_response_msg* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Dispatch_response_msg>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Dispatch_response_msg& from);
   void MergeFrom(const Dispatch_response_msg& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Dispatch_response_msg* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -969,7 +996,7 @@ class Dispatch_response_msg : public ::google::protobuf::Message /* @@protoc_ins
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -994,6 +1021,9 @@ class Dispatch_response_msg : public ::google::protobuf::Message /* @@protoc_ins
   bool has_base_info() const;
   void clear_base_info();
   static const int kBaseInfoFieldNumber = 1;
+  private:
+  const ::message::Base_info& _internal_base_info() const;
+  public:
   const ::message::Base_info& base_info() const;
   ::message::Base_info* release_base_info();
   ::message::Base_info* mutable_base_info();
@@ -1003,6 +1033,9 @@ class Dispatch_response_msg : public ::google::protobuf::Message /* @@protoc_ins
   bool has_error_manager() const;
   void clear_error_manager();
   static const int kErrorManagerFieldNumber = 3;
+  private:
+  const ::message::Error_manager& _internal_error_manager() const;
+  public:
   const ::message::Error_manager& error_manager() const;
   ::message::Error_manager* release_error_manager();
   ::message::Error_manager* mutable_error_manager();
@@ -1022,12 +1055,11 @@ class Dispatch_response_msg : public ::google::protobuf::Message /* @@protoc_ins
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::google::protobuf::internal::ArenaStringPtr command_key_;
   ::message::Base_info* base_info_;
   ::message::Error_manager* error_manager_;
   friend struct ::protobuf_dispatch_5fmessage_2eproto::TableStruct;
-  friend void ::protobuf_dispatch_5fmessage_2eproto::InitDefaultsDispatch_response_msgImpl();
 };
 // ===================================================================
 
@@ -1126,6 +1158,9 @@ inline void Dispatch_manager_status_msg::set_has_base_info() {
 inline void Dispatch_manager_status_msg::clear_has_base_info() {
   _has_bits_[0] &= ~0x00000001u;
 }
+inline const ::message::Base_info& Dispatch_manager_status_msg::_internal_base_info() const {
+  return *base_info_;
+}
 inline const ::message::Base_info& Dispatch_manager_status_msg::base_info() const {
   const ::message::Base_info* p = base_info_;
   // @@protoc_insertion_point(field_get:message.Dispatch_manager_status_msg.base_info)
@@ -1142,7 +1177,8 @@ inline ::message::Base_info* Dispatch_manager_status_msg::release_base_info() {
 inline ::message::Base_info* Dispatch_manager_status_msg::mutable_base_info() {
   set_has_base_info();
   if (base_info_ == NULL) {
-    base_info_ = new ::message::Base_info;
+    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
+    base_info_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Dispatch_manager_status_msg.base_info)
   return base_info_;
@@ -1357,6 +1393,9 @@ inline void Dispatch_terminal_status_msg::set_has_base_info() {
 inline void Dispatch_terminal_status_msg::clear_has_base_info() {
   _has_bits_[0] &= ~0x00000001u;
 }
+inline const ::message::Base_info& Dispatch_terminal_status_msg::_internal_base_info() const {
+  return *base_info_;
+}
 inline const ::message::Base_info& Dispatch_terminal_status_msg::base_info() const {
   const ::message::Base_info* p = base_info_;
   // @@protoc_insertion_point(field_get:message.Dispatch_terminal_status_msg.base_info)
@@ -1373,7 +1412,8 @@ inline ::message::Base_info* Dispatch_terminal_status_msg::release_base_info() {
 inline ::message::Base_info* Dispatch_terminal_status_msg::mutable_base_info() {
   set_has_base_info();
   if (base_info_ == NULL) {
-    base_info_ = new ::message::Base_info;
+    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
+    base_info_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Dispatch_terminal_status_msg.base_info)
   return base_info_;
@@ -1485,6 +1525,9 @@ inline void Dispatch_request_msg::set_has_base_info() {
 inline void Dispatch_request_msg::clear_has_base_info() {
   _has_bits_[0] &= ~0x00000002u;
 }
+inline const ::message::Base_info& Dispatch_request_msg::_internal_base_info() const {
+  return *base_info_;
+}
 inline const ::message::Base_info& Dispatch_request_msg::base_info() const {
   const ::message::Base_info* p = base_info_;
   // @@protoc_insertion_point(field_get:message.Dispatch_request_msg.base_info)
@@ -1501,7 +1544,8 @@ inline ::message::Base_info* Dispatch_request_msg::release_base_info() {
 inline ::message::Base_info* Dispatch_request_msg::mutable_base_info() {
   set_has_base_info();
   if (base_info_ == NULL) {
-    base_info_ = new ::message::Base_info;
+    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
+    base_info_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Dispatch_request_msg.base_info)
   return base_info_;
@@ -1575,8 +1619,11 @@ inline ::std::string* Dispatch_request_msg::mutable_command_key() {
 }
 inline ::std::string* Dispatch_request_msg::release_command_key() {
   // @@protoc_insertion_point(field_release:message.Dispatch_request_msg.command_key)
+  if (!has_command_key()) {
+    return NULL;
+  }
   clear_has_command_key();
-  return command_key_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  return command_key_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
 }
 inline void Dispatch_request_msg::set_allocated_command_key(::std::string* command_key) {
   if (command_key != NULL) {
@@ -1671,6 +1718,9 @@ inline void Dispatch_request_msg::set_has_locate_information() {
 inline void Dispatch_request_msg::clear_has_locate_information() {
   _has_bits_[0] &= ~0x00000004u;
 }
+inline const ::message::Locate_information& Dispatch_request_msg::_internal_locate_information() const {
+  return *locate_information_;
+}
 inline const ::message::Locate_information& Dispatch_request_msg::locate_information() const {
   const ::message::Locate_information* p = locate_information_;
   // @@protoc_insertion_point(field_get:message.Dispatch_request_msg.locate_information)
@@ -1687,7 +1737,8 @@ inline ::message::Locate_information* Dispatch_request_msg::release_locate_infor
 inline ::message::Locate_information* Dispatch_request_msg::mutable_locate_information() {
   set_has_locate_information();
   if (locate_information_ == NULL) {
-    locate_information_ = new ::message::Locate_information;
+    auto* p = CreateMaybeMessage<::message::Locate_information>(GetArenaNoVirtual());
+    locate_information_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Dispatch_request_msg.locate_information)
   return locate_information_;
@@ -1725,6 +1776,9 @@ inline void Dispatch_response_msg::set_has_base_info() {
 inline void Dispatch_response_msg::clear_has_base_info() {
   _has_bits_[0] &= ~0x00000002u;
 }
+inline const ::message::Base_info& Dispatch_response_msg::_internal_base_info() const {
+  return *base_info_;
+}
 inline const ::message::Base_info& Dispatch_response_msg::base_info() const {
   const ::message::Base_info* p = base_info_;
   // @@protoc_insertion_point(field_get:message.Dispatch_response_msg.base_info)
@@ -1741,7 +1795,8 @@ inline ::message::Base_info* Dispatch_response_msg::release_base_info() {
 inline ::message::Base_info* Dispatch_response_msg::mutable_base_info() {
   set_has_base_info();
   if (base_info_ == NULL) {
-    base_info_ = new ::message::Base_info;
+    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
+    base_info_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Dispatch_response_msg.base_info)
   return base_info_;
@@ -1815,8 +1870,11 @@ inline ::std::string* Dispatch_response_msg::mutable_command_key() {
 }
 inline ::std::string* Dispatch_response_msg::release_command_key() {
   // @@protoc_insertion_point(field_release:message.Dispatch_response_msg.command_key)
+  if (!has_command_key()) {
+    return NULL;
+  }
   clear_has_command_key();
-  return command_key_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  return command_key_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
 }
 inline void Dispatch_response_msg::set_allocated_command_key(::std::string* command_key) {
   if (command_key != NULL) {
@@ -1838,6 +1896,9 @@ inline void Dispatch_response_msg::set_has_error_manager() {
 inline void Dispatch_response_msg::clear_has_error_manager() {
   _has_bits_[0] &= ~0x00000004u;
 }
+inline const ::message::Error_manager& Dispatch_response_msg::_internal_error_manager() const {
+  return *error_manager_;
+}
 inline const ::message::Error_manager& Dispatch_response_msg::error_manager() const {
   const ::message::Error_manager* p = error_manager_;
   // @@protoc_insertion_point(field_get:message.Dispatch_response_msg.error_manager)
@@ -1854,7 +1915,8 @@ inline ::message::Error_manager* Dispatch_response_msg::release_error_manager()
 inline ::message::Error_manager* Dispatch_response_msg::mutable_error_manager() {
   set_has_error_manager();
   if (error_manager_ == NULL) {
-    error_manager_ = new ::message::Error_manager;
+    auto* p = CreateMaybeMessage<::message::Error_manager>(GetArenaNoVirtual());
+    error_manager_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Dispatch_response_msg.error_manager)
   return error_manager_;
@@ -1897,42 +1959,42 @@ inline void Dispatch_response_msg::set_allocated_error_manager(::message::Error_
 namespace google {
 namespace protobuf {
 
-template <> struct is_proto_enum< ::message::Dispatch_manager_status> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Dispatch_manager_status> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Dispatch_manager_status>() {
   return ::message::Dispatch_manager_status_descriptor();
 }
-template <> struct is_proto_enum< ::message::Catcher_status> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Catcher_status> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Catcher_status>() {
   return ::message::Catcher_status_descriptor();
 }
-template <> struct is_proto_enum< ::message::Carrier_status> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Carrier_status> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Carrier_status>() {
   return ::message::Carrier_status_descriptor();
 }
-template <> struct is_proto_enum< ::message::Elevator_status> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Elevator_status> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Elevator_status>() {
   return ::message::Elevator_status_descriptor();
 }
-template <> struct is_proto_enum< ::message::Passageway_status> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Passageway_status> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Passageway_status>() {
   return ::message::Passageway_status_descriptor();
 }
-template <> struct is_proto_enum< ::message::Terminal_status> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Terminal_status> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Terminal_status>() {
   return ::message::Terminal_status_descriptor();
 }
-template <> struct is_proto_enum< ::message::Passageway_direction> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Passageway_direction> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Passageway_direction>() {
   return ::message::Passageway_direction_descriptor();
 }
-template <> struct is_proto_enum< ::message::Dispatch_motion_direction> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Dispatch_motion_direction> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Dispatch_motion_direction>() {
   return ::message::Dispatch_motion_direction_descriptor();
@@ -1943,4 +2005,4 @@ inline const EnumDescriptor* GetEnumDescriptor< ::message::Dispatch_motion_direc
 
 // @@protoc_insertion_point(global_scope)
 
-#endif  // PROTOBUF_dispatch_5fmessage_2eproto__INCLUDED
+#endif  // PROTOBUF_INCLUDED_dispatch_5fmessage_2eproto

+ 97 - 140
message/measure_message.pb.cc

@@ -7,7 +7,6 @@
 
 #include <google/protobuf/stubs/common.h>
 #include <google/protobuf/stubs/port.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>
@@ -19,6 +18,12 @@
 #include "third_party/protobuf/version.h"
 #endif
 // @@protoc_insertion_point(includes)
+
+namespace protobuf_message_5fbase_2eproto {
+extern PROTOBUF_INTERNAL_EXPORT_protobuf_message_5fbase_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Base_info;
+extern PROTOBUF_INTERNAL_EXPORT_protobuf_message_5fbase_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Error_manager;
+extern PROTOBUF_INTERNAL_EXPORT_protobuf_message_5fbase_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Locate_information;
+}  // namespace protobuf_message_5fbase_2eproto
 namespace message {
 class Measure_status_msgDefaultTypeInternal {
  public:
@@ -37,17 +42,9 @@ class Measure_response_msgDefaultTypeInternal {
 } _Measure_response_msg_default_instance_;
 }  // namespace message
 namespace protobuf_measure_5fmessage_2eproto {
-void InitDefaultsMeasure_status_msgImpl() {
+static void InitDefaultsMeasure_status_msg() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
-  protobuf_message_5fbase_2eproto::InitDefaultsLocate_information();
-  protobuf_message_5fbase_2eproto::InitDefaultsError_manager();
   {
     void* ptr = &::message::_Measure_status_msg_default_instance_;
     new (ptr) ::message::Measure_status_msg();
@@ -56,20 +53,15 @@ void InitDefaultsMeasure_status_msgImpl() {
   ::message::Measure_status_msg::InitAsDefaultInstance();
 }
 
-void InitDefaultsMeasure_status_msg() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsMeasure_status_msgImpl);
-}
+::google::protobuf::internal::SCCInfo<3> scc_info_Measure_status_msg =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsMeasure_status_msg}, {
+      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,
+      &protobuf_message_5fbase_2eproto::scc_info_Locate_information.base,
+      &protobuf_message_5fbase_2eproto::scc_info_Error_manager.base,}};
 
-void InitDefaultsMeasure_request_msgImpl() {
+static void InitDefaultsMeasure_request_msg() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
   {
     void* ptr = &::message::_Measure_request_msg_default_instance_;
     new (ptr) ::message::Measure_request_msg();
@@ -78,22 +70,13 @@ void InitDefaultsMeasure_request_msgImpl() {
   ::message::Measure_request_msg::InitAsDefaultInstance();
 }
 
-void InitDefaultsMeasure_request_msg() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsMeasure_request_msgImpl);
-}
+::google::protobuf::internal::SCCInfo<1> scc_info_Measure_request_msg =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsMeasure_request_msg}, {
+      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,}};
 
-void InitDefaultsMeasure_response_msgImpl() {
+static void InitDefaultsMeasure_response_msg() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
-  protobuf_message_5fbase_2eproto::InitDefaultsLocate_information();
-  protobuf_message_5fbase_2eproto::InitDefaultsError_manager();
   {
     void* ptr = &::message::_Measure_response_msg_default_instance_;
     new (ptr) ::message::Measure_response_msg();
@@ -102,9 +85,16 @@ void InitDefaultsMeasure_response_msgImpl() {
   ::message::Measure_response_msg::InitAsDefaultInstance();
 }
 
-void InitDefaultsMeasure_response_msg() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsMeasure_response_msgImpl);
+::google::protobuf::internal::SCCInfo<3> scc_info_Measure_response_msg =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsMeasure_response_msg}, {
+      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,
+      &protobuf_message_5fbase_2eproto::scc_info_Locate_information.base,
+      &protobuf_message_5fbase_2eproto::scc_info_Error_manager.base,}};
+
+void InitDefaults() {
+  ::google::protobuf::internal::InitSCC(&scc_info_Measure_status_msg.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_Measure_request_msg.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_Measure_response_msg.base);
 }
 
 ::google::protobuf::Metadata file_level_metadata[3];
@@ -171,15 +161,14 @@ static ::google::protobuf::Message const * const file_default_instances[] = {
 
 void protobuf_AssignDescriptors() {
   AddDescriptors();
-  ::google::protobuf::MessageFactory* factory = NULL;
   AssignDescriptors(
-      "measure_message.proto", schemas, file_default_instances, TableStruct::offsets, factory,
+      "measure_message.proto", schemas, file_default_instances, TableStruct::offsets,
       file_level_metadata, file_level_enum_descriptors, NULL);
 }
 
 void protobuf_AssignDescriptorsOnce() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
+  static ::google::protobuf::internal::once_flag once;
+  ::google::protobuf::internal::call_once(once, protobuf_AssignDescriptors);
 }
 
 void protobuf_RegisterTypes(const ::std::string&) GOOGLE_PROTOBUF_ATTRIBUTE_COLD;
@@ -230,8 +219,8 @@ void AddDescriptorsImpl() {
 }
 
 void AddDescriptors() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
+  static ::google::protobuf::internal::once_flag once;
+  ::google::protobuf::internal::call_once(once, AddDescriptorsImpl);
 }
 // Force AddDescriptors() to be called at dynamic initialization time.
 struct StaticDescriptorInitializer {
@@ -327,9 +316,8 @@ const int Measure_status_msg::kErrorManagerFieldNumber;
 
 Measure_status_msg::Measure_status_msg()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_measure_5fmessage_2eproto::InitDefaultsMeasure_status_msg();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_measure_5fmessage_2eproto::scc_info_Measure_status_msg.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Measure_status_msg)
 }
@@ -337,7 +325,6 @@ Measure_status_msg::Measure_status_msg(const Measure_status_msg& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
       _has_bits_(from._has_bits_),
-      _cached_size_(0),
       laser_statu_vector_(from.laser_statu_vector_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   if (from.has_base_info()) {
@@ -362,7 +349,6 @@ Measure_status_msg::Measure_status_msg(const Measure_status_msg& from)
 }
 
 void Measure_status_msg::SharedCtor() {
-  _cached_size_ = 0;
   ::memset(&base_info_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&locate_manager_status_) -
       reinterpret_cast<char*>(&base_info_)) + sizeof(locate_manager_status_));
@@ -380,9 +366,7 @@ void Measure_status_msg::SharedDtor() {
 }
 
 void Measure_status_msg::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Measure_status_msg::descriptor() {
   ::protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
@@ -390,17 +374,10 @@ const ::google::protobuf::Descriptor* Measure_status_msg::descriptor() {
 }
 
 const Measure_status_msg& Measure_status_msg::default_instance() {
-  ::protobuf_measure_5fmessage_2eproto::InitDefaultsMeasure_status_msg();
+  ::google::protobuf::internal::InitSCC(&protobuf_measure_5fmessage_2eproto::scc_info_Measure_status_msg.base);
   return *internal_default_instance();
 }
 
-Measure_status_msg* Measure_status_msg::New(::google::protobuf::Arena* arena) const {
-  Measure_status_msg* n = new Measure_status_msg;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Measure_status_msg::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Measure_status_msg)
@@ -439,7 +416,7 @@ bool Measure_status_msg::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Measure_status_msg)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -592,7 +569,7 @@ void Measure_status_msg::SerializeWithCachedSizes(
   // required .message.Base_info base_info = 1;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, *this->base_info_, output);
+      1, this->_internal_base_info(), output);
   }
 
   // required int32 terminal_id = 2;
@@ -621,13 +598,13 @@ void Measure_status_msg::SerializeWithCachedSizes(
   // optional .message.Locate_information locate_information_realtime = 6;
   if (cached_has_bits & 0x00000002u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      6, *this->locate_information_realtime_, output);
+      6, this->_internal_locate_information_realtime(), output);
   }
 
   // required .message.Error_manager error_manager = 7;
   if (cached_has_bits & 0x00000004u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      7, *this->error_manager_, output);
+      7, this->_internal_error_manager(), output);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -649,7 +626,7 @@ void Measure_status_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000001u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        1, *this->base_info_, deterministic, target);
+        1, this->_internal_base_info(), deterministic, target);
   }
 
   // required int32 terminal_id = 2;
@@ -677,14 +654,14 @@ void Measure_status_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000002u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        6, *this->locate_information_realtime_, deterministic, target);
+        6, this->_internal_locate_information_realtime(), deterministic, target);
   }
 
   // required .message.Error_manager error_manager = 7;
   if (cached_has_bits & 0x00000004u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        7, *this->error_manager_, deterministic, target);
+        7, this->_internal_error_manager(), deterministic, target);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -703,14 +680,14 @@ size_t Measure_status_msg::RequiredFieldsByteSizeFallback() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
   }
 
   if (has_error_manager()) {
     // required .message.Error_manager error_manager = 7;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->error_manager_);
+        *error_manager_);
   }
 
   if (has_terminal_id()) {
@@ -747,12 +724,12 @@ size_t Measure_status_msg::ByteSizeLong() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
 
     // required .message.Error_manager error_manager = 7;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->error_manager_);
+        *error_manager_);
 
     // required int32 terminal_id = 2;
     total_size += 1 +
@@ -784,13 +761,11 @@ size_t Measure_status_msg::ByteSizeLong() const {
   if (has_locate_information_realtime()) {
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->locate_information_realtime_);
+        *locate_information_realtime_);
   }
 
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -881,7 +856,6 @@ void Measure_status_msg::InternalSwap(Measure_status_msg* other) {
   swap(locate_manager_status_, other->locate_manager_status_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Measure_status_msg::GetMetadata() const {
@@ -908,17 +882,15 @@ const int Measure_request_msg::kTerminalIdFieldNumber;
 
 Measure_request_msg::Measure_request_msg()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_measure_5fmessage_2eproto::InitDefaultsMeasure_request_msg();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_measure_5fmessage_2eproto::scc_info_Measure_request_msg.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Measure_request_msg)
 }
 Measure_request_msg::Measure_request_msg(const Measure_request_msg& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
+      _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (from.has_command_key()) {
@@ -934,7 +906,6 @@ Measure_request_msg::Measure_request_msg(const Measure_request_msg& from)
 }
 
 void Measure_request_msg::SharedCtor() {
-  _cached_size_ = 0;
   command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   ::memset(&base_info_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&terminal_id_) -
@@ -952,9 +923,7 @@ void Measure_request_msg::SharedDtor() {
 }
 
 void Measure_request_msg::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Measure_request_msg::descriptor() {
   ::protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
@@ -962,17 +931,10 @@ const ::google::protobuf::Descriptor* Measure_request_msg::descriptor() {
 }
 
 const Measure_request_msg& Measure_request_msg::default_instance() {
-  ::protobuf_measure_5fmessage_2eproto::InitDefaultsMeasure_request_msg();
+  ::google::protobuf::internal::InitSCC(&protobuf_measure_5fmessage_2eproto::scc_info_Measure_request_msg.base);
   return *internal_default_instance();
 }
 
-Measure_request_msg* Measure_request_msg::New(::google::protobuf::Arena* arena) const {
-  Measure_request_msg* n = new Measure_request_msg;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Measure_request_msg::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Measure_request_msg)
@@ -983,8 +945,7 @@ void Measure_request_msg::Clear() {
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 3u) {
     if (cached_has_bits & 0x00000001u) {
-      GOOGLE_DCHECK(!command_key_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*command_key_.UnsafeRawStringPointer())->clear();
+      command_key_.ClearNonDefaultToEmptyNoArena();
     }
     if (cached_has_bits & 0x00000002u) {
       GOOGLE_DCHECK(base_info_ != NULL);
@@ -1002,7 +963,7 @@ bool Measure_request_msg::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Measure_request_msg)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -1078,7 +1039,7 @@ void Measure_request_msg::SerializeWithCachedSizes(
   // required .message.Base_info base_info = 1;
   if (cached_has_bits & 0x00000002u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, *this->base_info_, output);
+      1, this->_internal_base_info(), output);
   }
 
   // required string command_key = 2;
@@ -1115,7 +1076,7 @@ void Measure_request_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000002u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        1, *this->base_info_, deterministic, target);
+        1, this->_internal_base_info(), deterministic, target);
   }
 
   // required string command_key = 2;
@@ -1157,7 +1118,7 @@ size_t Measure_request_msg::RequiredFieldsByteSizeFallback() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
   }
 
   if (has_terminal_id()) {
@@ -1187,7 +1148,7 @@ size_t Measure_request_msg::ByteSizeLong() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
 
     // required int32 terminal_id = 3;
     total_size += 1 +
@@ -1198,9 +1159,7 @@ size_t Measure_request_msg::ByteSizeLong() const {
     total_size += RequiredFieldsByteSizeFallback();
   }
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -1270,12 +1229,12 @@ void Measure_request_msg::Swap(Measure_request_msg* other) {
 }
 void Measure_request_msg::InternalSwap(Measure_request_msg* other) {
   using std::swap;
-  command_key_.Swap(&other->command_key_);
+  command_key_.Swap(&other->command_key_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+    GetArenaNoVirtual());
   swap(base_info_, other->base_info_);
   swap(terminal_id_, other->terminal_id_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Measure_request_msg::GetMetadata() const {
@@ -1316,17 +1275,15 @@ const int Measure_response_msg::kErrorManagerFieldNumber;
 
 Measure_response_msg::Measure_response_msg()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_measure_5fmessage_2eproto::InitDefaultsMeasure_response_msg();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_measure_5fmessage_2eproto::scc_info_Measure_response_msg.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Measure_response_msg)
 }
 Measure_response_msg::Measure_response_msg(const Measure_response_msg& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
+      _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (from.has_command_key()) {
@@ -1352,7 +1309,6 @@ Measure_response_msg::Measure_response_msg(const Measure_response_msg& from)
 }
 
 void Measure_response_msg::SharedCtor() {
-  _cached_size_ = 0;
   command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   ::memset(&base_info_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&terminal_id_) -
@@ -1372,9 +1328,7 @@ void Measure_response_msg::SharedDtor() {
 }
 
 void Measure_response_msg::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Measure_response_msg::descriptor() {
   ::protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
@@ -1382,17 +1336,10 @@ const ::google::protobuf::Descriptor* Measure_response_msg::descriptor() {
 }
 
 const Measure_response_msg& Measure_response_msg::default_instance() {
-  ::protobuf_measure_5fmessage_2eproto::InitDefaultsMeasure_response_msg();
+  ::google::protobuf::internal::InitSCC(&protobuf_measure_5fmessage_2eproto::scc_info_Measure_response_msg.base);
   return *internal_default_instance();
 }
 
-Measure_response_msg* Measure_response_msg::New(::google::protobuf::Arena* arena) const {
-  Measure_response_msg* n = new Measure_response_msg;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Measure_response_msg::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Measure_response_msg)
@@ -1403,8 +1350,7 @@ void Measure_response_msg::Clear() {
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 15u) {
     if (cached_has_bits & 0x00000001u) {
-      GOOGLE_DCHECK(!command_key_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*command_key_.UnsafeRawStringPointer())->clear();
+      command_key_.ClearNonDefaultToEmptyNoArena();
     }
     if (cached_has_bits & 0x00000002u) {
       GOOGLE_DCHECK(base_info_ != NULL);
@@ -1430,7 +1376,7 @@ bool Measure_response_msg::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Measure_response_msg)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -1530,7 +1476,7 @@ void Measure_response_msg::SerializeWithCachedSizes(
   // required .message.Base_info base_info = 1;
   if (cached_has_bits & 0x00000002u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, *this->base_info_, output);
+      1, this->_internal_base_info(), output);
   }
 
   // required string command_key = 2;
@@ -1551,13 +1497,13 @@ void Measure_response_msg::SerializeWithCachedSizes(
   // optional .message.Locate_information locate_information = 4;
   if (cached_has_bits & 0x00000004u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      4, *this->locate_information_, output);
+      4, this->_internal_locate_information(), output);
   }
 
   // required .message.Error_manager error_manager = 5;
   if (cached_has_bits & 0x00000008u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      5, *this->error_manager_, output);
+      5, this->_internal_error_manager(), output);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -1579,7 +1525,7 @@ void Measure_response_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000002u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        1, *this->base_info_, deterministic, target);
+        1, this->_internal_base_info(), deterministic, target);
   }
 
   // required string command_key = 2;
@@ -1602,14 +1548,14 @@ void Measure_response_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000004u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        4, *this->locate_information_, deterministic, target);
+        4, this->_internal_locate_information(), deterministic, target);
   }
 
   // required .message.Error_manager error_manager = 5;
   if (cached_has_bits & 0x00000008u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        5, *this->error_manager_, deterministic, target);
+        5, this->_internal_error_manager(), deterministic, target);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -1635,14 +1581,14 @@ size_t Measure_response_msg::RequiredFieldsByteSizeFallback() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
   }
 
   if (has_error_manager()) {
     // required .message.Error_manager error_manager = 5;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->error_manager_);
+        *error_manager_);
   }
 
   if (has_terminal_id()) {
@@ -1672,12 +1618,12 @@ size_t Measure_response_msg::ByteSizeLong() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
 
     // required .message.Error_manager error_manager = 5;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->error_manager_);
+        *error_manager_);
 
     // required int32 terminal_id = 3;
     total_size += 1 +
@@ -1691,13 +1637,11 @@ size_t Measure_response_msg::ByteSizeLong() const {
   if (has_locate_information()) {
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->locate_information_);
+        *locate_information_);
   }
 
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -1776,14 +1720,14 @@ void Measure_response_msg::Swap(Measure_response_msg* other) {
 }
 void Measure_response_msg::InternalSwap(Measure_response_msg* other) {
   using std::swap;
-  command_key_.Swap(&other->command_key_);
+  command_key_.Swap(&other->command_key_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+    GetArenaNoVirtual());
   swap(base_info_, other->base_info_);
   swap(locate_information_, other->locate_information_);
   swap(error_manager_, other->error_manager_);
   swap(terminal_id_, other->terminal_id_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Measure_response_msg::GetMetadata() const {
@@ -1794,5 +1738,18 @@ void Measure_response_msg::InternalSwap(Measure_response_msg* other) {
 
 // @@protoc_insertion_point(namespace_scope)
 }  // namespace message
+namespace google {
+namespace protobuf {
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Measure_status_msg* Arena::CreateMaybeMessage< ::message::Measure_status_msg >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Measure_status_msg >(arena);
+}
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Measure_request_msg* Arena::CreateMaybeMessage< ::message::Measure_request_msg >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Measure_request_msg >(arena);
+}
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Measure_response_msg* Arena::CreateMaybeMessage< ::message::Measure_response_msg >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Measure_response_msg >(arena);
+}
+}  // namespace protobuf
+}  // namespace google
 
 // @@protoc_insertion_point(global_scope)

+ 141 - 76
message/measure_message.pb.h

@@ -1,19 +1,19 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: measure_message.proto
 
-#ifndef PROTOBUF_measure_5fmessage_2eproto__INCLUDED
-#define PROTOBUF_measure_5fmessage_2eproto__INCLUDED
+#ifndef PROTOBUF_INCLUDED_measure_5fmessage_2eproto
+#define PROTOBUF_INCLUDED_measure_5fmessage_2eproto
 
 #include <string>
 
 #include <google/protobuf/stubs/common.h>
 
-#if GOOGLE_PROTOBUF_VERSION < 3005000
+#if GOOGLE_PROTOBUF_VERSION < 3006001
 #error This file was generated by a newer version of protoc which is
 #error incompatible with your Protocol Buffer headers.  Please update
 #error your headers.
 #endif
-#if 3005000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
 #error This file was generated by an older version of protoc which is
 #error incompatible with your Protocol Buffer headers.  Please
 #error regenerate this file with a newer version of protoc.
@@ -24,6 +24,7 @@
 #include <google/protobuf/arenastring.h>
 #include <google/protobuf/generated_message_table_driven.h>
 #include <google/protobuf/generated_message_util.h>
+#include <google/protobuf/inlined_string_field.h>
 #include <google/protobuf/metadata.h>
 #include <google/protobuf/message.h>
 #include <google/protobuf/repeated_field.h>  // IWYU pragma: export
@@ -32,6 +33,7 @@
 #include <google/protobuf/unknown_field_set.h>
 #include "message_base.pb.h"
 // @@protoc_insertion_point(includes)
+#define PROTOBUF_INTERNAL_EXPORT_protobuf_measure_5fmessage_2eproto 
 
 namespace protobuf_measure_5fmessage_2eproto {
 // Internal implementation detail -- do not use these members.
@@ -44,17 +46,6 @@ struct TableStruct {
   static const ::google::protobuf::uint32 offsets[];
 };
 void AddDescriptors();
-void InitDefaultsMeasure_status_msgImpl();
-void InitDefaultsMeasure_status_msg();
-void InitDefaultsMeasure_request_msgImpl();
-void InitDefaultsMeasure_request_msg();
-void InitDefaultsMeasure_response_msgImpl();
-void InitDefaultsMeasure_response_msg();
-inline void InitDefaults() {
-  InitDefaultsMeasure_status_msg();
-  InitDefaultsMeasure_request_msg();
-  InitDefaultsMeasure_response_msg();
-}
 }  // namespace protobuf_measure_5fmessage_2eproto
 namespace message {
 class Measure_request_msg;
@@ -67,6 +58,13 @@ class Measure_status_msg;
 class Measure_status_msgDefaultTypeInternal;
 extern Measure_status_msgDefaultTypeInternal _Measure_status_msg_default_instance_;
 }  // namespace message
+namespace google {
+namespace protobuf {
+template<> ::message::Measure_request_msg* Arena::CreateMaybeMessage<::message::Measure_request_msg>(Arena*);
+template<> ::message::Measure_response_msg* Arena::CreateMaybeMessage<::message::Measure_response_msg>(Arena*);
+template<> ::message::Measure_status_msg* Arena::CreateMaybeMessage<::message::Measure_status_msg>(Arena*);
+}  // namespace protobuf
+}  // namespace google
 namespace message {
 
 enum Laser_manager_status {
@@ -178,7 +176,7 @@ class Measure_status_msg : public ::google::protobuf::Message /* @@protoc_insert
     return reinterpret_cast<const Measure_status_msg*>(
                &_Measure_status_msg_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     0;
 
   void Swap(Measure_status_msg* other);
@@ -188,28 +186,33 @@ class Measure_status_msg : public ::google::protobuf::Message /* @@protoc_insert
 
   // implements Message ----------------------------------------------
 
-  inline Measure_status_msg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Measure_status_msg* New() const final {
+    return CreateMaybeMessage<Measure_status_msg>(NULL);
+  }
 
-  Measure_status_msg* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Measure_status_msg* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Measure_status_msg>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Measure_status_msg& from);
   void MergeFrom(const Measure_status_msg& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Measure_status_msg* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -220,7 +223,7 @@ class Measure_status_msg : public ::google::protobuf::Message /* @@protoc_insert
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -240,6 +243,9 @@ class Measure_status_msg : public ::google::protobuf::Message /* @@protoc_insert
   bool has_base_info() const;
   void clear_base_info();
   static const int kBaseInfoFieldNumber = 1;
+  private:
+  const ::message::Base_info& _internal_base_info() const;
+  public:
   const ::message::Base_info& base_info() const;
   ::message::Base_info* release_base_info();
   ::message::Base_info* mutable_base_info();
@@ -249,6 +255,9 @@ class Measure_status_msg : public ::google::protobuf::Message /* @@protoc_insert
   bool has_locate_information_realtime() const;
   void clear_locate_information_realtime();
   static const int kLocateInformationRealtimeFieldNumber = 6;
+  private:
+  const ::message::Locate_information& _internal_locate_information_realtime() const;
+  public:
   const ::message::Locate_information& locate_information_realtime() const;
   ::message::Locate_information* release_locate_information_realtime();
   ::message::Locate_information* mutable_locate_information_realtime();
@@ -258,6 +267,9 @@ class Measure_status_msg : public ::google::protobuf::Message /* @@protoc_insert
   bool has_error_manager() const;
   void clear_error_manager();
   static const int kErrorManagerFieldNumber = 7;
+  private:
+  const ::message::Error_manager& _internal_error_manager() const;
+  public:
   const ::message::Error_manager& error_manager() const;
   ::message::Error_manager* release_error_manager();
   ::message::Error_manager* mutable_error_manager();
@@ -304,7 +316,7 @@ class Measure_status_msg : public ::google::protobuf::Message /* @@protoc_insert
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::google::protobuf::RepeatedField<int> laser_statu_vector_;
   ::message::Base_info* base_info_;
   ::message::Locate_information* locate_information_realtime_;
@@ -313,7 +325,6 @@ class Measure_status_msg : public ::google::protobuf::Message /* @@protoc_insert
   int laser_manager_status_;
   int locate_manager_status_;
   friend struct ::protobuf_measure_5fmessage_2eproto::TableStruct;
-  friend void ::protobuf_measure_5fmessage_2eproto::InitDefaultsMeasure_status_msgImpl();
 };
 // -------------------------------------------------------------------
 
@@ -358,7 +369,7 @@ class Measure_request_msg : public ::google::protobuf::Message /* @@protoc_inser
     return reinterpret_cast<const Measure_request_msg*>(
                &_Measure_request_msg_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     1;
 
   void Swap(Measure_request_msg* other);
@@ -368,28 +379,33 @@ class Measure_request_msg : public ::google::protobuf::Message /* @@protoc_inser
 
   // implements Message ----------------------------------------------
 
-  inline Measure_request_msg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Measure_request_msg* New() const final {
+    return CreateMaybeMessage<Measure_request_msg>(NULL);
+  }
 
-  Measure_request_msg* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Measure_request_msg* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Measure_request_msg>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Measure_request_msg& from);
   void MergeFrom(const Measure_request_msg& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Measure_request_msg* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -400,7 +416,7 @@ class Measure_request_msg : public ::google::protobuf::Message /* @@protoc_inser
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -425,6 +441,9 @@ class Measure_request_msg : public ::google::protobuf::Message /* @@protoc_inser
   bool has_base_info() const;
   void clear_base_info();
   static const int kBaseInfoFieldNumber = 1;
+  private:
+  const ::message::Base_info& _internal_base_info() const;
+  public:
   const ::message::Base_info& base_info() const;
   ::message::Base_info* release_base_info();
   ::message::Base_info* mutable_base_info();
@@ -451,12 +470,11 @@ class Measure_request_msg : public ::google::protobuf::Message /* @@protoc_inser
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::google::protobuf::internal::ArenaStringPtr command_key_;
   ::message::Base_info* base_info_;
   ::google::protobuf::int32 terminal_id_;
   friend struct ::protobuf_measure_5fmessage_2eproto::TableStruct;
-  friend void ::protobuf_measure_5fmessage_2eproto::InitDefaultsMeasure_request_msgImpl();
 };
 // -------------------------------------------------------------------
 
@@ -501,7 +519,7 @@ class Measure_response_msg : public ::google::protobuf::Message /* @@protoc_inse
     return reinterpret_cast<const Measure_response_msg*>(
                &_Measure_response_msg_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     2;
 
   void Swap(Measure_response_msg* other);
@@ -511,28 +529,33 @@ class Measure_response_msg : public ::google::protobuf::Message /* @@protoc_inse
 
   // implements Message ----------------------------------------------
 
-  inline Measure_response_msg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Measure_response_msg* New() const final {
+    return CreateMaybeMessage<Measure_response_msg>(NULL);
+  }
 
-  Measure_response_msg* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Measure_response_msg* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Measure_response_msg>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Measure_response_msg& from);
   void MergeFrom(const Measure_response_msg& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Measure_response_msg* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -543,7 +566,7 @@ class Measure_response_msg : public ::google::protobuf::Message /* @@protoc_inse
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -568,6 +591,9 @@ class Measure_response_msg : public ::google::protobuf::Message /* @@protoc_inse
   bool has_base_info() const;
   void clear_base_info();
   static const int kBaseInfoFieldNumber = 1;
+  private:
+  const ::message::Base_info& _internal_base_info() const;
+  public:
   const ::message::Base_info& base_info() const;
   ::message::Base_info* release_base_info();
   ::message::Base_info* mutable_base_info();
@@ -577,6 +603,9 @@ class Measure_response_msg : public ::google::protobuf::Message /* @@protoc_inse
   bool has_locate_information() const;
   void clear_locate_information();
   static const int kLocateInformationFieldNumber = 4;
+  private:
+  const ::message::Locate_information& _internal_locate_information() const;
+  public:
   const ::message::Locate_information& locate_information() const;
   ::message::Locate_information* release_locate_information();
   ::message::Locate_information* mutable_locate_information();
@@ -586,6 +615,9 @@ class Measure_response_msg : public ::google::protobuf::Message /* @@protoc_inse
   bool has_error_manager() const;
   void clear_error_manager();
   static const int kErrorManagerFieldNumber = 5;
+  private:
+  const ::message::Error_manager& _internal_error_manager() const;
+  public:
   const ::message::Error_manager& error_manager() const;
   ::message::Error_manager* release_error_manager();
   ::message::Error_manager* mutable_error_manager();
@@ -616,14 +648,13 @@ class Measure_response_msg : public ::google::protobuf::Message /* @@protoc_inse
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::google::protobuf::internal::ArenaStringPtr command_key_;
   ::message::Base_info* base_info_;
   ::message::Locate_information* locate_information_;
   ::message::Error_manager* error_manager_;
   ::google::protobuf::int32 terminal_id_;
   friend struct ::protobuf_measure_5fmessage_2eproto::TableStruct;
-  friend void ::protobuf_measure_5fmessage_2eproto::InitDefaultsMeasure_response_msgImpl();
 };
 // ===================================================================
 
@@ -646,6 +677,9 @@ inline void Measure_status_msg::set_has_base_info() {
 inline void Measure_status_msg::clear_has_base_info() {
   _has_bits_[0] &= ~0x00000001u;
 }
+inline const ::message::Base_info& Measure_status_msg::_internal_base_info() const {
+  return *base_info_;
+}
 inline const ::message::Base_info& Measure_status_msg::base_info() const {
   const ::message::Base_info* p = base_info_;
   // @@protoc_insertion_point(field_get:message.Measure_status_msg.base_info)
@@ -662,7 +696,8 @@ inline ::message::Base_info* Measure_status_msg::release_base_info() {
 inline ::message::Base_info* Measure_status_msg::mutable_base_info() {
   set_has_base_info();
   if (base_info_ == NULL) {
-    base_info_ = new ::message::Base_info;
+    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
+    base_info_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Measure_status_msg.base_info)
   return base_info_;
@@ -802,6 +837,9 @@ inline void Measure_status_msg::set_has_locate_information_realtime() {
 inline void Measure_status_msg::clear_has_locate_information_realtime() {
   _has_bits_[0] &= ~0x00000002u;
 }
+inline const ::message::Locate_information& Measure_status_msg::_internal_locate_information_realtime() const {
+  return *locate_information_realtime_;
+}
 inline const ::message::Locate_information& Measure_status_msg::locate_information_realtime() const {
   const ::message::Locate_information* p = locate_information_realtime_;
   // @@protoc_insertion_point(field_get:message.Measure_status_msg.locate_information_realtime)
@@ -818,7 +856,8 @@ inline ::message::Locate_information* Measure_status_msg::release_locate_informa
 inline ::message::Locate_information* Measure_status_msg::mutable_locate_information_realtime() {
   set_has_locate_information_realtime();
   if (locate_information_realtime_ == NULL) {
-    locate_information_realtime_ = new ::message::Locate_information;
+    auto* p = CreateMaybeMessage<::message::Locate_information>(GetArenaNoVirtual());
+    locate_information_realtime_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Measure_status_msg.locate_information_realtime)
   return locate_information_realtime_;
@@ -852,6 +891,9 @@ inline void Measure_status_msg::set_has_error_manager() {
 inline void Measure_status_msg::clear_has_error_manager() {
   _has_bits_[0] &= ~0x00000004u;
 }
+inline const ::message::Error_manager& Measure_status_msg::_internal_error_manager() const {
+  return *error_manager_;
+}
 inline const ::message::Error_manager& Measure_status_msg::error_manager() const {
   const ::message::Error_manager* p = error_manager_;
   // @@protoc_insertion_point(field_get:message.Measure_status_msg.error_manager)
@@ -868,7 +910,8 @@ inline ::message::Error_manager* Measure_status_msg::release_error_manager() {
 inline ::message::Error_manager* Measure_status_msg::mutable_error_manager() {
   set_has_error_manager();
   if (error_manager_ == NULL) {
-    error_manager_ = new ::message::Error_manager;
+    auto* p = CreateMaybeMessage<::message::Error_manager>(GetArenaNoVirtual());
+    error_manager_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Measure_status_msg.error_manager)
   return error_manager_;
@@ -906,6 +949,9 @@ inline void Measure_request_msg::set_has_base_info() {
 inline void Measure_request_msg::clear_has_base_info() {
   _has_bits_[0] &= ~0x00000002u;
 }
+inline const ::message::Base_info& Measure_request_msg::_internal_base_info() const {
+  return *base_info_;
+}
 inline const ::message::Base_info& Measure_request_msg::base_info() const {
   const ::message::Base_info* p = base_info_;
   // @@protoc_insertion_point(field_get:message.Measure_request_msg.base_info)
@@ -922,7 +968,8 @@ inline ::message::Base_info* Measure_request_msg::release_base_info() {
 inline ::message::Base_info* Measure_request_msg::mutable_base_info() {
   set_has_base_info();
   if (base_info_ == NULL) {
-    base_info_ = new ::message::Base_info;
+    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
+    base_info_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Measure_request_msg.base_info)
   return base_info_;
@@ -996,8 +1043,11 @@ inline ::std::string* Measure_request_msg::mutable_command_key() {
 }
 inline ::std::string* Measure_request_msg::release_command_key() {
   // @@protoc_insertion_point(field_release:message.Measure_request_msg.command_key)
+  if (!has_command_key()) {
+    return NULL;
+  }
   clear_has_command_key();
-  return command_key_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  return command_key_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
 }
 inline void Measure_request_msg::set_allocated_command_key(::std::string* command_key) {
   if (command_key != NULL) {
@@ -1047,6 +1097,9 @@ inline void Measure_response_msg::set_has_base_info() {
 inline void Measure_response_msg::clear_has_base_info() {
   _has_bits_[0] &= ~0x00000002u;
 }
+inline const ::message::Base_info& Measure_response_msg::_internal_base_info() const {
+  return *base_info_;
+}
 inline const ::message::Base_info& Measure_response_msg::base_info() const {
   const ::message::Base_info* p = base_info_;
   // @@protoc_insertion_point(field_get:message.Measure_response_msg.base_info)
@@ -1063,7 +1116,8 @@ inline ::message::Base_info* Measure_response_msg::release_base_info() {
 inline ::message::Base_info* Measure_response_msg::mutable_base_info() {
   set_has_base_info();
   if (base_info_ == NULL) {
-    base_info_ = new ::message::Base_info;
+    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
+    base_info_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Measure_response_msg.base_info)
   return base_info_;
@@ -1137,8 +1191,11 @@ inline ::std::string* Measure_response_msg::mutable_command_key() {
 }
 inline ::std::string* Measure_response_msg::release_command_key() {
   // @@protoc_insertion_point(field_release:message.Measure_response_msg.command_key)
+  if (!has_command_key()) {
+    return NULL;
+  }
   clear_has_command_key();
-  return command_key_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  return command_key_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
 }
 inline void Measure_response_msg::set_allocated_command_key(::std::string* command_key) {
   if (command_key != NULL) {
@@ -1184,6 +1241,9 @@ inline void Measure_response_msg::set_has_locate_information() {
 inline void Measure_response_msg::clear_has_locate_information() {
   _has_bits_[0] &= ~0x00000004u;
 }
+inline const ::message::Locate_information& Measure_response_msg::_internal_locate_information() const {
+  return *locate_information_;
+}
 inline const ::message::Locate_information& Measure_response_msg::locate_information() const {
   const ::message::Locate_information* p = locate_information_;
   // @@protoc_insertion_point(field_get:message.Measure_response_msg.locate_information)
@@ -1200,7 +1260,8 @@ inline ::message::Locate_information* Measure_response_msg::release_locate_infor
 inline ::message::Locate_information* Measure_response_msg::mutable_locate_information() {
   set_has_locate_information();
   if (locate_information_ == NULL) {
-    locate_information_ = new ::message::Locate_information;
+    auto* p = CreateMaybeMessage<::message::Locate_information>(GetArenaNoVirtual());
+    locate_information_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Measure_response_msg.locate_information)
   return locate_information_;
@@ -1234,6 +1295,9 @@ inline void Measure_response_msg::set_has_error_manager() {
 inline void Measure_response_msg::clear_has_error_manager() {
   _has_bits_[0] &= ~0x00000008u;
 }
+inline const ::message::Error_manager& Measure_response_msg::_internal_error_manager() const {
+  return *error_manager_;
+}
 inline const ::message::Error_manager& Measure_response_msg::error_manager() const {
   const ::message::Error_manager* p = error_manager_;
   // @@protoc_insertion_point(field_get:message.Measure_response_msg.error_manager)
@@ -1250,7 +1314,8 @@ inline ::message::Error_manager* Measure_response_msg::release_error_manager() {
 inline ::message::Error_manager* Measure_response_msg::mutable_error_manager() {
   set_has_error_manager();
   if (error_manager_ == NULL) {
-    error_manager_ = new ::message::Error_manager;
+    auto* p = CreateMaybeMessage<::message::Error_manager>(GetArenaNoVirtual());
+    error_manager_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Measure_response_msg.error_manager)
   return error_manager_;
@@ -1289,17 +1354,17 @@ inline void Measure_response_msg::set_allocated_error_manager(::message::Error_m
 namespace google {
 namespace protobuf {
 
-template <> struct is_proto_enum< ::message::Laser_manager_status> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Laser_manager_status> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Laser_manager_status>() {
   return ::message::Laser_manager_status_descriptor();
 }
-template <> struct is_proto_enum< ::message::Laser_statu> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Laser_statu> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Laser_statu>() {
   return ::message::Laser_statu_descriptor();
 }
-template <> struct is_proto_enum< ::message::Locate_manager_status> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Locate_manager_status> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Locate_manager_status>() {
   return ::message::Locate_manager_status_descriptor();
@@ -1310,4 +1375,4 @@ inline const EnumDescriptor* GetEnumDescriptor< ::message::Locate_manager_status
 
 // @@protoc_insertion_point(global_scope)
 
-#endif  // PROTOBUF_measure_5fmessage_2eproto__INCLUDED
+#endif  // PROTOBUF_INCLUDED_measure_5fmessage_2eproto

+ 120 - 218
message/message_base.pb.cc

@@ -7,7 +7,6 @@
 
 #include <google/protobuf/stubs/common.h>
 #include <google/protobuf/stubs/port.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>
@@ -19,6 +18,11 @@
 #include "third_party/protobuf/version.h"
 #endif
 // @@protoc_insertion_point(includes)
+
+namespace protobuf_message_5fbase_2eproto {
+extern PROTOBUF_INTERNAL_EXPORT_protobuf_message_5fbase_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Base_info;
+extern PROTOBUF_INTERNAL_EXPORT_protobuf_message_5fbase_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Car_info;
+}  // namespace protobuf_message_5fbase_2eproto
 namespace message {
 class Base_infoDefaultTypeInternal {
  public:
@@ -52,14 +56,9 @@ class Parkspace_infoDefaultTypeInternal {
 } _Parkspace_info_default_instance_;
 }  // namespace message
 namespace protobuf_message_5fbase_2eproto {
-void InitDefaultsBase_infoImpl() {
+static void InitDefaultsBase_info() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
   {
     void* ptr = &::message::_Base_info_default_instance_;
     new (ptr) ::message::Base_info();
@@ -68,20 +67,12 @@ void InitDefaultsBase_infoImpl() {
   ::message::Base_info::InitAsDefaultInstance();
 }
 
-void InitDefaultsBase_info() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsBase_infoImpl);
-}
+::google::protobuf::internal::SCCInfo<0> scc_info_Base_info =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsBase_info}, {}};
 
-void InitDefaultsBase_msgImpl() {
+static void InitDefaultsBase_msg() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
   {
     void* ptr = &::message::_Base_msg_default_instance_;
     new (ptr) ::message::Base_msg();
@@ -90,19 +81,13 @@ void InitDefaultsBase_msgImpl() {
   ::message::Base_msg::InitAsDefaultInstance();
 }
 
-void InitDefaultsBase_msg() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsBase_msgImpl);
-}
+::google::protobuf::internal::SCCInfo<1> scc_info_Base_msg =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsBase_msg}, {
+      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,}};
 
-void InitDefaultsError_managerImpl() {
+static void InitDefaultsError_manager() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
   {
     void* ptr = &::message::_Error_manager_default_instance_;
     new (ptr) ::message::Error_manager();
@@ -111,19 +96,12 @@ void InitDefaultsError_managerImpl() {
   ::message::Error_manager::InitAsDefaultInstance();
 }
 
-void InitDefaultsError_manager() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsError_managerImpl);
-}
+::google::protobuf::internal::SCCInfo<0> scc_info_Error_manager =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsError_manager}, {}};
 
-void InitDefaultsLocate_informationImpl() {
+static void InitDefaultsLocate_information() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
   {
     void* ptr = &::message::_Locate_information_default_instance_;
     new (ptr) ::message::Locate_information();
@@ -132,19 +110,12 @@ void InitDefaultsLocate_informationImpl() {
   ::message::Locate_information::InitAsDefaultInstance();
 }
 
-void InitDefaultsLocate_information() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsLocate_informationImpl);
-}
+::google::protobuf::internal::SCCInfo<0> scc_info_Locate_information =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsLocate_information}, {}};
 
-void InitDefaultsCar_infoImpl() {
+static void InitDefaultsCar_info() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
   {
     void* ptr = &::message::_Car_info_default_instance_;
     new (ptr) ::message::Car_info();
@@ -153,20 +124,12 @@ void InitDefaultsCar_infoImpl() {
   ::message::Car_info::InitAsDefaultInstance();
 }
 
-void InitDefaultsCar_info() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsCar_infoImpl);
-}
+::google::protobuf::internal::SCCInfo<0> scc_info_Car_info =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsCar_info}, {}};
 
-void InitDefaultsParkspace_infoImpl() {
+static void InitDefaultsParkspace_info() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  protobuf_message_5fbase_2eproto::InitDefaultsCar_info();
   {
     void* ptr = &::message::_Parkspace_info_default_instance_;
     new (ptr) ::message::Parkspace_info();
@@ -175,9 +138,17 @@ void InitDefaultsParkspace_infoImpl() {
   ::message::Parkspace_info::InitAsDefaultInstance();
 }
 
-void InitDefaultsParkspace_info() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsParkspace_infoImpl);
+::google::protobuf::internal::SCCInfo<1> scc_info_Parkspace_info =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsParkspace_info}, {
+      &protobuf_message_5fbase_2eproto::scc_info_Car_info.base,}};
+
+void InitDefaults() {
+  ::google::protobuf::internal::InitSCC(&scc_info_Base_info.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_Base_msg.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_Error_manager.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_Locate_information.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_Car_info.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_Parkspace_info.base);
 }
 
 ::google::protobuf::Metadata file_level_metadata[6];
@@ -299,15 +270,14 @@ static ::google::protobuf::Message const * const file_default_instances[] = {
 
 void protobuf_AssignDescriptors() {
   AddDescriptors();
-  ::google::protobuf::MessageFactory* factory = NULL;
   AssignDescriptors(
-      "message_base.proto", schemas, file_default_instances, TableStruct::offsets, factory,
+      "message_base.proto", schemas, file_default_instances, TableStruct::offsets,
       file_level_metadata, file_level_enum_descriptors, NULL);
 }
 
 void protobuf_AssignDescriptorsOnce() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
+  static ::google::protobuf::internal::once_flag once;
+  ::google::protobuf::internal::call_once(once, protobuf_AssignDescriptors);
 }
 
 void protobuf_RegisterTypes(const ::std::string&) GOOGLE_PROTOBUF_ATTRIBUTE_COLD;
@@ -395,8 +365,8 @@ void AddDescriptorsImpl() {
 }
 
 void AddDescriptors() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
+  static ::google::protobuf::internal::once_flag once;
+  ::google::protobuf::internal::call_once(once, AddDescriptorsImpl);
 }
 // Force AddDescriptors() to be called at dynamic initialization time.
 struct StaticDescriptorInitializer {
@@ -584,17 +554,15 @@ const int Base_info::kReceiverFieldNumber;
 
 Base_info::Base_info()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Base_info)
 }
 Base_info::Base_info(const Base_info& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
+      _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   ::memcpy(&msg_type_, &from.msg_type_,
     static_cast<size_t>(reinterpret_cast<char*>(&receiver_) -
@@ -603,7 +571,6 @@ Base_info::Base_info(const Base_info& from)
 }
 
 void Base_info::SharedCtor() {
-  _cached_size_ = 0;
   ::memset(&msg_type_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&receiver_) -
       reinterpret_cast<char*>(&msg_type_)) + sizeof(receiver_));
@@ -618,9 +585,7 @@ void Base_info::SharedDtor() {
 }
 
 void Base_info::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Base_info::descriptor() {
   ::protobuf_message_5fbase_2eproto::protobuf_AssignDescriptorsOnce();
@@ -628,17 +593,10 @@ const ::google::protobuf::Descriptor* Base_info::descriptor() {
 }
 
 const Base_info& Base_info::default_instance() {
-  ::protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
+  ::google::protobuf::internal::InitSCC(&protobuf_message_5fbase_2eproto::scc_info_Base_info.base);
   return *internal_default_instance();
 }
 
-Base_info* Base_info::New(::google::protobuf::Arena* arena) const {
-  Base_info* n = new Base_info;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Base_info::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Base_info)
@@ -662,7 +620,7 @@ bool Base_info::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Base_info)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -893,9 +851,7 @@ size_t Base_info::ByteSizeLong() const {
   }
 
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -970,7 +926,6 @@ void Base_info::InternalSwap(Base_info* other) {
   swap(receiver_, other->receiver_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Base_info::GetMetadata() const {
@@ -991,17 +946,15 @@ const int Base_msg::kBaseInfoFieldNumber;
 
 Base_msg::Base_msg()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_message_5fbase_2eproto::InitDefaultsBase_msg();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_message_5fbase_2eproto::scc_info_Base_msg.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Base_msg)
 }
 Base_msg::Base_msg(const Base_msg& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
+      _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   if (from.has_base_info()) {
     base_info_ = new ::message::Base_info(*from.base_info_);
@@ -1012,7 +965,6 @@ Base_msg::Base_msg(const Base_msg& from)
 }
 
 void Base_msg::SharedCtor() {
-  _cached_size_ = 0;
   base_info_ = NULL;
 }
 
@@ -1026,9 +978,7 @@ void Base_msg::SharedDtor() {
 }
 
 void Base_msg::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Base_msg::descriptor() {
   ::protobuf_message_5fbase_2eproto::protobuf_AssignDescriptorsOnce();
@@ -1036,17 +986,10 @@ const ::google::protobuf::Descriptor* Base_msg::descriptor() {
 }
 
 const Base_msg& Base_msg::default_instance() {
-  ::protobuf_message_5fbase_2eproto::InitDefaultsBase_msg();
+  ::google::protobuf::internal::InitSCC(&protobuf_message_5fbase_2eproto::scc_info_Base_msg.base);
   return *internal_default_instance();
 }
 
-Base_msg* Base_msg::New(::google::protobuf::Arena* arena) const {
-  Base_msg* n = new Base_msg;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Base_msg::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Base_msg)
@@ -1069,7 +1012,7 @@ bool Base_msg::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Base_msg)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -1115,7 +1058,7 @@ void Base_msg::SerializeWithCachedSizes(
   // required .message.Base_info base_info = 1;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, *this->base_info_, output);
+      1, this->_internal_base_info(), output);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -1137,7 +1080,7 @@ void Base_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000001u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        1, *this->base_info_, deterministic, target);
+        1, this->_internal_base_info(), deterministic, target);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -1161,12 +1104,10 @@ size_t Base_msg::ByteSizeLong() const {
   if (has_base_info()) {
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
   }
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -1228,7 +1169,6 @@ void Base_msg::InternalSwap(Base_msg* other) {
   swap(base_info_, other->base_info_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Base_msg::GetMetadata() const {
@@ -1249,17 +1189,15 @@ const int Error_manager::kErrorDescriptionFieldNumber;
 
 Error_manager::Error_manager()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_message_5fbase_2eproto::InitDefaultsError_manager();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_message_5fbase_2eproto::scc_info_Error_manager.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Error_manager)
 }
 Error_manager::Error_manager(const Error_manager& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
+      _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   error_description_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (from.has_error_description()) {
@@ -1272,7 +1210,6 @@ Error_manager::Error_manager(const Error_manager& from)
 }
 
 void Error_manager::SharedCtor() {
-  _cached_size_ = 0;
   error_description_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   ::memset(&error_code_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&error_level_) -
@@ -1289,9 +1226,7 @@ void Error_manager::SharedDtor() {
 }
 
 void Error_manager::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Error_manager::descriptor() {
   ::protobuf_message_5fbase_2eproto::protobuf_AssignDescriptorsOnce();
@@ -1299,17 +1234,10 @@ const ::google::protobuf::Descriptor* Error_manager::descriptor() {
 }
 
 const Error_manager& Error_manager::default_instance() {
-  ::protobuf_message_5fbase_2eproto::InitDefaultsError_manager();
+  ::google::protobuf::internal::InitSCC(&protobuf_message_5fbase_2eproto::scc_info_Error_manager.base);
   return *internal_default_instance();
 }
 
-Error_manager* Error_manager::New(::google::protobuf::Arena* arena) const {
-  Error_manager* n = new Error_manager;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Error_manager::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Error_manager)
@@ -1319,8 +1247,7 @@ void Error_manager::Clear() {
 
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 0x00000001u) {
-    GOOGLE_DCHECK(!error_description_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-    (*error_description_.UnsafeRawStringPointer())->clear();
+    error_description_.ClearNonDefaultToEmptyNoArena();
   }
   if (cached_has_bits & 6u) {
     ::memset(&error_code_, 0, static_cast<size_t>(
@@ -1337,7 +1264,7 @@ bool Error_manager::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Error_manager)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -1513,9 +1440,7 @@ size_t Error_manager::ByteSizeLong() const {
   }
 
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -1582,12 +1507,12 @@ void Error_manager::Swap(Error_manager* other) {
 }
 void Error_manager::InternalSwap(Error_manager* other) {
   using std::swap;
-  error_description_.Swap(&other->error_description_);
+  error_description_.Swap(&other->error_description_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+    GetArenaNoVirtual());
   swap(error_code_, other->error_code_);
   swap(error_level_, other->error_level_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Error_manager::GetMetadata() const {
@@ -1614,17 +1539,15 @@ const int Locate_information::kLocateCorrectFieldNumber;
 
 Locate_information::Locate_information()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_message_5fbase_2eproto::InitDefaultsLocate_information();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_message_5fbase_2eproto::scc_info_Locate_information.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Locate_information)
 }
 Locate_information::Locate_information(const Locate_information& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
+      _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   ::memcpy(&locate_x_, &from.locate_x_,
     static_cast<size_t>(reinterpret_cast<char*>(&locate_correct_) -
@@ -1633,7 +1556,6 @@ Locate_information::Locate_information(const Locate_information& from)
 }
 
 void Locate_information::SharedCtor() {
-  _cached_size_ = 0;
   ::memset(&locate_x_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&locate_correct_) -
       reinterpret_cast<char*>(&locate_x_)) + sizeof(locate_correct_));
@@ -1648,9 +1570,7 @@ void Locate_information::SharedDtor() {
 }
 
 void Locate_information::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Locate_information::descriptor() {
   ::protobuf_message_5fbase_2eproto::protobuf_AssignDescriptorsOnce();
@@ -1658,17 +1578,10 @@ const ::google::protobuf::Descriptor* Locate_information::descriptor() {
 }
 
 const Locate_information& Locate_information::default_instance() {
-  ::protobuf_message_5fbase_2eproto::InitDefaultsLocate_information();
+  ::google::protobuf::internal::InitSCC(&protobuf_message_5fbase_2eproto::scc_info_Locate_information.base);
   return *internal_default_instance();
 }
 
-Locate_information* Locate_information::New(::google::protobuf::Arena* arena) const {
-  Locate_information* n = new Locate_information;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Locate_information::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Locate_information)
@@ -1693,7 +1606,7 @@ bool Locate_information::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Locate_information)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -2020,9 +1933,7 @@ size_t Locate_information::ByteSizeLong() const {
   }
 
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -2116,7 +2027,6 @@ void Locate_information::InternalSwap(Locate_information* other) {
   swap(locate_correct_, other->locate_correct_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Locate_information::GetMetadata() const {
@@ -2138,17 +2048,15 @@ const int Car_info::kLicenseFieldNumber;
 
 Car_info::Car_info()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_message_5fbase_2eproto::InitDefaultsCar_info();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_message_5fbase_2eproto::scc_info_Car_info.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Car_info)
 }
 Car_info::Car_info(const Car_info& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
+      _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   license_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (from.has_license()) {
@@ -2161,7 +2069,6 @@ Car_info::Car_info(const Car_info& from)
 }
 
 void Car_info::SharedCtor() {
-  _cached_size_ = 0;
   license_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   ::memset(&car_length_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&car_height_) -
@@ -2178,9 +2085,7 @@ void Car_info::SharedDtor() {
 }
 
 void Car_info::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Car_info::descriptor() {
   ::protobuf_message_5fbase_2eproto::protobuf_AssignDescriptorsOnce();
@@ -2188,17 +2093,10 @@ const ::google::protobuf::Descriptor* Car_info::descriptor() {
 }
 
 const Car_info& Car_info::default_instance() {
-  ::protobuf_message_5fbase_2eproto::InitDefaultsCar_info();
+  ::google::protobuf::internal::InitSCC(&protobuf_message_5fbase_2eproto::scc_info_Car_info.base);
   return *internal_default_instance();
 }
 
-Car_info* Car_info::New(::google::protobuf::Arena* arena) const {
-  Car_info* n = new Car_info;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Car_info::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Car_info)
@@ -2208,8 +2106,7 @@ void Car_info::Clear() {
 
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 0x00000001u) {
-    GOOGLE_DCHECK(!license_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-    (*license_.UnsafeRawStringPointer())->clear();
+    license_.ClearNonDefaultToEmptyNoArena();
   }
   if (cached_has_bits & 14u) {
     ::memset(&car_length_, 0, static_cast<size_t>(
@@ -2226,7 +2123,7 @@ bool Car_info::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Car_info)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -2423,9 +2320,7 @@ size_t Car_info::ByteSizeLong() const {
 
   }
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -2494,13 +2389,13 @@ void Car_info::Swap(Car_info* other) {
 }
 void Car_info::InternalSwap(Car_info* other) {
   using std::swap;
-  license_.Swap(&other->license_);
+  license_.Swap(&other->license_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+    GetArenaNoVirtual());
   swap(car_length_, other->car_length_);
   swap(car_width_, other->car_width_);
   swap(car_height_, other->car_height_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Car_info::GetMetadata() const {
@@ -2531,17 +2426,15 @@ const int Parkspace_info::kLeaveTimeFieldNumber;
 
 Parkspace_info::Parkspace_info()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_message_5fbase_2eproto::InitDefaultsParkspace_info();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_message_5fbase_2eproto::scc_info_Parkspace_info.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Parkspace_info)
 }
 Parkspace_info::Parkspace_info(const Parkspace_info& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
+      _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   entry_time_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (from.has_entry_time()) {
@@ -2563,7 +2456,6 @@ Parkspace_info::Parkspace_info(const Parkspace_info& from)
 }
 
 void Parkspace_info::SharedCtor() {
-  _cached_size_ = 0;
   entry_time_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   leave_time_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   ::memset(&car_info_, 0, static_cast<size_t>(
@@ -2584,9 +2476,7 @@ void Parkspace_info::SharedDtor() {
 }
 
 void Parkspace_info::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Parkspace_info::descriptor() {
   ::protobuf_message_5fbase_2eproto::protobuf_AssignDescriptorsOnce();
@@ -2594,17 +2484,10 @@ const ::google::protobuf::Descriptor* Parkspace_info::descriptor() {
 }
 
 const Parkspace_info& Parkspace_info::default_instance() {
-  ::protobuf_message_5fbase_2eproto::InitDefaultsParkspace_info();
+  ::google::protobuf::internal::InitSCC(&protobuf_message_5fbase_2eproto::scc_info_Parkspace_info.base);
   return *internal_default_instance();
 }
 
-Parkspace_info* Parkspace_info::New(::google::protobuf::Arena* arena) const {
-  Parkspace_info* n = new Parkspace_info;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Parkspace_info::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Parkspace_info)
@@ -2615,12 +2498,10 @@ void Parkspace_info::Clear() {
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 7u) {
     if (cached_has_bits & 0x00000001u) {
-      GOOGLE_DCHECK(!entry_time_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*entry_time_.UnsafeRawStringPointer())->clear();
+      entry_time_.ClearNonDefaultToEmptyNoArena();
     }
     if (cached_has_bits & 0x00000002u) {
-      GOOGLE_DCHECK(!leave_time_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*leave_time_.UnsafeRawStringPointer())->clear();
+      leave_time_.ClearNonDefaultToEmptyNoArena();
     }
     if (cached_has_bits & 0x00000004u) {
       GOOGLE_DCHECK(car_info_ != NULL);
@@ -2648,7 +2529,7 @@ bool Parkspace_info::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Parkspace_info)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -2892,7 +2773,7 @@ void Parkspace_info::SerializeWithCachedSizes(
   // optional .message.Car_info car_info = 9;
   if (cached_has_bits & 0x00000004u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      9, *this->car_info_, output);
+      9, this->_internal_car_info(), output);
   }
 
   // optional string entry_time = 10;
@@ -2976,7 +2857,7 @@ void Parkspace_info::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000004u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        9, *this->car_info_, deterministic, target);
+        9, this->_internal_car_info(), deterministic, target);
   }
 
   // optional string entry_time = 10;
@@ -3037,7 +2918,7 @@ size_t Parkspace_info::ByteSizeLong() const {
     if (has_car_info()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSize(
-          *this->car_info_);
+          *car_info_);
     }
 
     // optional int32 parkspace_id = 1;
@@ -3092,9 +2973,7 @@ size_t Parkspace_info::ByteSizeLong() const {
 
   }
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -3188,8 +3067,10 @@ void Parkspace_info::Swap(Parkspace_info* other) {
 }
 void Parkspace_info::InternalSwap(Parkspace_info* other) {
   using std::swap;
-  entry_time_.Swap(&other->entry_time_);
-  leave_time_.Swap(&other->leave_time_);
+  entry_time_.Swap(&other->entry_time_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+    GetArenaNoVirtual());
+  leave_time_.Swap(&other->leave_time_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+    GetArenaNoVirtual());
   swap(car_info_, other->car_info_);
   swap(parkspace_id_, other->parkspace_id_);
   swap(index_, other->index_);
@@ -3201,7 +3082,6 @@ void Parkspace_info::InternalSwap(Parkspace_info* other) {
   swap(direction_, other->direction_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Parkspace_info::GetMetadata() const {
@@ -3212,5 +3092,27 @@ void Parkspace_info::InternalSwap(Parkspace_info* other) {
 
 // @@protoc_insertion_point(namespace_scope)
 }  // namespace message
+namespace google {
+namespace protobuf {
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Base_info* Arena::CreateMaybeMessage< ::message::Base_info >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Base_info >(arena);
+}
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Base_msg* Arena::CreateMaybeMessage< ::message::Base_msg >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Base_msg >(arena);
+}
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Error_manager* Arena::CreateMaybeMessage< ::message::Error_manager >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Error_manager >(arena);
+}
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Locate_information* Arena::CreateMaybeMessage< ::message::Locate_information >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Locate_information >(arena);
+}
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Car_info* Arena::CreateMaybeMessage< ::message::Car_info >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Car_info >(arena);
+}
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Parkspace_info* Arena::CreateMaybeMessage< ::message::Parkspace_info >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Parkspace_info >(arena);
+}
+}  // namespace protobuf
+}  // namespace google
 
 // @@protoc_insertion_point(global_scope)

+ 177 - 135
message/message_base.pb.h

@@ -1,19 +1,19 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: message_base.proto
 
-#ifndef PROTOBUF_message_5fbase_2eproto__INCLUDED
-#define PROTOBUF_message_5fbase_2eproto__INCLUDED
+#ifndef PROTOBUF_INCLUDED_message_5fbase_2eproto
+#define PROTOBUF_INCLUDED_message_5fbase_2eproto
 
 #include <string>
 
 #include <google/protobuf/stubs/common.h>
 
-#if GOOGLE_PROTOBUF_VERSION < 3005000
+#if GOOGLE_PROTOBUF_VERSION < 3006001
 #error This file was generated by a newer version of protoc which is
 #error incompatible with your Protocol Buffer headers.  Please update
 #error your headers.
 #endif
-#if 3005000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
 #error This file was generated by an older version of protoc which is
 #error incompatible with your Protocol Buffer headers.  Please
 #error regenerate this file with a newer version of protoc.
@@ -24,6 +24,7 @@
 #include <google/protobuf/arenastring.h>
 #include <google/protobuf/generated_message_table_driven.h>
 #include <google/protobuf/generated_message_util.h>
+#include <google/protobuf/inlined_string_field.h>
 #include <google/protobuf/metadata.h>
 #include <google/protobuf/message.h>
 #include <google/protobuf/repeated_field.h>  // IWYU pragma: export
@@ -31,6 +32,7 @@
 #include <google/protobuf/generated_enum_reflection.h>
 #include <google/protobuf/unknown_field_set.h>
 // @@protoc_insertion_point(includes)
+#define PROTOBUF_INTERNAL_EXPORT_protobuf_message_5fbase_2eproto 
 
 namespace protobuf_message_5fbase_2eproto {
 // Internal implementation detail -- do not use these members.
@@ -43,26 +45,6 @@ struct TableStruct {
   static const ::google::protobuf::uint32 offsets[];
 };
 void AddDescriptors();
-void InitDefaultsBase_infoImpl();
-void InitDefaultsBase_info();
-void InitDefaultsBase_msgImpl();
-void InitDefaultsBase_msg();
-void InitDefaultsError_managerImpl();
-void InitDefaultsError_manager();
-void InitDefaultsLocate_informationImpl();
-void InitDefaultsLocate_information();
-void InitDefaultsCar_infoImpl();
-void InitDefaultsCar_info();
-void InitDefaultsParkspace_infoImpl();
-void InitDefaultsParkspace_info();
-inline void InitDefaults() {
-  InitDefaultsBase_info();
-  InitDefaultsBase_msg();
-  InitDefaultsError_manager();
-  InitDefaultsLocate_information();
-  InitDefaultsCar_info();
-  InitDefaultsParkspace_info();
-}
 }  // namespace protobuf_message_5fbase_2eproto
 namespace message {
 class Base_info;
@@ -84,6 +66,16 @@ class Parkspace_info;
 class Parkspace_infoDefaultTypeInternal;
 extern Parkspace_infoDefaultTypeInternal _Parkspace_info_default_instance_;
 }  // namespace message
+namespace google {
+namespace protobuf {
+template<> ::message::Base_info* Arena::CreateMaybeMessage<::message::Base_info>(Arena*);
+template<> ::message::Base_msg* Arena::CreateMaybeMessage<::message::Base_msg>(Arena*);
+template<> ::message::Car_info* Arena::CreateMaybeMessage<::message::Car_info>(Arena*);
+template<> ::message::Error_manager* Arena::CreateMaybeMessage<::message::Error_manager>(Arena*);
+template<> ::message::Locate_information* Arena::CreateMaybeMessage<::message::Locate_information>(Arena*);
+template<> ::message::Parkspace_info* Arena::CreateMaybeMessage<::message::Parkspace_info>(Arena*);
+}  // namespace protobuf
+}  // namespace google
 namespace message {
 
 enum Message_type {
@@ -333,7 +325,7 @@ class Base_info : public ::google::protobuf::Message /* @@protoc_insertion_point
     return reinterpret_cast<const Base_info*>(
                &_Base_info_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     0;
 
   void Swap(Base_info* other);
@@ -343,28 +335,33 @@ class Base_info : public ::google::protobuf::Message /* @@protoc_insertion_point
 
   // implements Message ----------------------------------------------
 
-  inline Base_info* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Base_info* New() const final {
+    return CreateMaybeMessage<Base_info>(NULL);
+  }
 
-  Base_info* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Base_info* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Base_info>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Base_info& from);
   void MergeFrom(const Base_info& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Base_info* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -375,7 +372,7 @@ class Base_info : public ::google::protobuf::Message /* @@protoc_insertion_point
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -425,13 +422,12 @@ class Base_info : public ::google::protobuf::Message /* @@protoc_insertion_point
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   int msg_type_;
   ::google::protobuf::int32 timeout_ms_;
   int sender_;
   int receiver_;
   friend struct ::protobuf_message_5fbase_2eproto::TableStruct;
-  friend void ::protobuf_message_5fbase_2eproto::InitDefaultsBase_infoImpl();
 };
 // -------------------------------------------------------------------
 
@@ -476,7 +472,7 @@ class Base_msg : public ::google::protobuf::Message /* @@protoc_insertion_point(
     return reinterpret_cast<const Base_msg*>(
                &_Base_msg_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     1;
 
   void Swap(Base_msg* other);
@@ -486,28 +482,33 @@ class Base_msg : public ::google::protobuf::Message /* @@protoc_insertion_point(
 
   // implements Message ----------------------------------------------
 
-  inline Base_msg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Base_msg* New() const final {
+    return CreateMaybeMessage<Base_msg>(NULL);
+  }
 
-  Base_msg* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Base_msg* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Base_msg>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Base_msg& from);
   void MergeFrom(const Base_msg& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Base_msg* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -518,7 +519,7 @@ class Base_msg : public ::google::protobuf::Message /* @@protoc_insertion_point(
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -528,6 +529,9 @@ class Base_msg : public ::google::protobuf::Message /* @@protoc_insertion_point(
   bool has_base_info() const;
   void clear_base_info();
   static const int kBaseInfoFieldNumber = 1;
+  private:
+  const ::message::Base_info& _internal_base_info() const;
+  public:
   const ::message::Base_info& base_info() const;
   ::message::Base_info* release_base_info();
   ::message::Base_info* mutable_base_info();
@@ -540,10 +544,9 @@ class Base_msg : public ::google::protobuf::Message /* @@protoc_insertion_point(
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::message::Base_info* base_info_;
   friend struct ::protobuf_message_5fbase_2eproto::TableStruct;
-  friend void ::protobuf_message_5fbase_2eproto::InitDefaultsBase_msgImpl();
 };
 // -------------------------------------------------------------------
 
@@ -588,7 +591,7 @@ class Error_manager : public ::google::protobuf::Message /* @@protoc_insertion_p
     return reinterpret_cast<const Error_manager*>(
                &_Error_manager_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     2;
 
   void Swap(Error_manager* other);
@@ -598,28 +601,33 @@ class Error_manager : public ::google::protobuf::Message /* @@protoc_insertion_p
 
   // implements Message ----------------------------------------------
 
-  inline Error_manager* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Error_manager* New() const final {
+    return CreateMaybeMessage<Error_manager>(NULL);
+  }
 
-  Error_manager* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Error_manager* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Error_manager>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Error_manager& from);
   void MergeFrom(const Error_manager& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Error_manager* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -630,7 +638,7 @@ class Error_manager : public ::google::protobuf::Message /* @@protoc_insertion_p
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -676,12 +684,11 @@ class Error_manager : public ::google::protobuf::Message /* @@protoc_insertion_p
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::google::protobuf::internal::ArenaStringPtr error_description_;
   ::google::protobuf::int32 error_code_;
   int error_level_;
   friend struct ::protobuf_message_5fbase_2eproto::TableStruct;
-  friend void ::protobuf_message_5fbase_2eproto::InitDefaultsError_managerImpl();
 };
 // -------------------------------------------------------------------
 
@@ -726,7 +733,7 @@ class Locate_information : public ::google::protobuf::Message /* @@protoc_insert
     return reinterpret_cast<const Locate_information*>(
                &_Locate_information_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     3;
 
   void Swap(Locate_information* other);
@@ -736,28 +743,33 @@ class Locate_information : public ::google::protobuf::Message /* @@protoc_insert
 
   // implements Message ----------------------------------------------
 
-  inline Locate_information* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Locate_information* New() const final {
+    return CreateMaybeMessage<Locate_information>(NULL);
+  }
 
-  Locate_information* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Locate_information* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Locate_information>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Locate_information& from);
   void MergeFrom(const Locate_information& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Locate_information* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -768,7 +780,7 @@ class Locate_information : public ::google::protobuf::Message /* @@protoc_insert
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -860,7 +872,7 @@ class Locate_information : public ::google::protobuf::Message /* @@protoc_insert
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   float locate_x_;
   float locate_y_;
   float locate_angle_;
@@ -871,7 +883,6 @@ class Locate_information : public ::google::protobuf::Message /* @@protoc_insert
   float locate_wheel_width_;
   bool locate_correct_;
   friend struct ::protobuf_message_5fbase_2eproto::TableStruct;
-  friend void ::protobuf_message_5fbase_2eproto::InitDefaultsLocate_informationImpl();
 };
 // -------------------------------------------------------------------
 
@@ -916,7 +927,7 @@ class Car_info : public ::google::protobuf::Message /* @@protoc_insertion_point(
     return reinterpret_cast<const Car_info*>(
                &_Car_info_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     4;
 
   void Swap(Car_info* other);
@@ -926,28 +937,33 @@ class Car_info : public ::google::protobuf::Message /* @@protoc_insertion_point(
 
   // implements Message ----------------------------------------------
 
-  inline Car_info* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Car_info* New() const final {
+    return CreateMaybeMessage<Car_info>(NULL);
+  }
 
-  Car_info* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Car_info* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Car_info>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Car_info& from);
   void MergeFrom(const Car_info& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Car_info* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -958,7 +974,7 @@ class Car_info : public ::google::protobuf::Message /* @@protoc_insertion_point(
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -1013,13 +1029,12 @@ class Car_info : public ::google::protobuf::Message /* @@protoc_insertion_point(
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::google::protobuf::internal::ArenaStringPtr license_;
   float car_length_;
   float car_width_;
   float car_height_;
   friend struct ::protobuf_message_5fbase_2eproto::TableStruct;
-  friend void ::protobuf_message_5fbase_2eproto::InitDefaultsCar_infoImpl();
 };
 // -------------------------------------------------------------------
 
@@ -1064,7 +1079,7 @@ class Parkspace_info : public ::google::protobuf::Message /* @@protoc_insertion_
     return reinterpret_cast<const Parkspace_info*>(
                &_Parkspace_info_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     5;
 
   void Swap(Parkspace_info* other);
@@ -1074,28 +1089,33 @@ class Parkspace_info : public ::google::protobuf::Message /* @@protoc_insertion_
 
   // implements Message ----------------------------------------------
 
-  inline Parkspace_info* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Parkspace_info* New() const final {
+    return CreateMaybeMessage<Parkspace_info>(NULL);
+  }
 
-  Parkspace_info* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Parkspace_info* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Parkspace_info>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Parkspace_info& from);
   void MergeFrom(const Parkspace_info& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Parkspace_info* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -1106,7 +1126,7 @@ class Parkspace_info : public ::google::protobuf::Message /* @@protoc_insertion_
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -1146,6 +1166,9 @@ class Parkspace_info : public ::google::protobuf::Message /* @@protoc_insertion_
   bool has_car_info() const;
   void clear_car_info();
   static const int kCarInfoFieldNumber = 9;
+  private:
+  const ::message::Car_info& _internal_car_info() const;
+  public:
   const ::message::Car_info& car_info() const;
   ::message::Car_info* release_car_info();
   ::message::Car_info* mutable_car_info();
@@ -1234,7 +1257,7 @@ class Parkspace_info : public ::google::protobuf::Message /* @@protoc_insertion_
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::google::protobuf::internal::ArenaStringPtr entry_time_;
   ::google::protobuf::internal::ArenaStringPtr leave_time_;
   ::message::Car_info* car_info_;
@@ -1247,7 +1270,6 @@ class Parkspace_info : public ::google::protobuf::Message /* @@protoc_insertion_
   int parkspace_status_;
   int direction_;
   friend struct ::protobuf_message_5fbase_2eproto::TableStruct;
-  friend void ::protobuf_message_5fbase_2eproto::InitDefaultsParkspace_infoImpl();
 };
 // ===================================================================
 
@@ -1377,6 +1399,9 @@ inline void Base_msg::clear_base_info() {
   if (base_info_ != NULL) base_info_->Clear();
   clear_has_base_info();
 }
+inline const ::message::Base_info& Base_msg::_internal_base_info() const {
+  return *base_info_;
+}
 inline const ::message::Base_info& Base_msg::base_info() const {
   const ::message::Base_info* p = base_info_;
   // @@protoc_insertion_point(field_get:message.Base_msg.base_info)
@@ -1393,7 +1418,8 @@ inline ::message::Base_info* Base_msg::release_base_info() {
 inline ::message::Base_info* Base_msg::mutable_base_info() {
   set_has_base_info();
   if (base_info_ == NULL) {
-    base_info_ = new ::message::Base_info;
+    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
+    base_info_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Base_msg.base_info)
   return base_info_;
@@ -1520,8 +1546,11 @@ inline ::std::string* Error_manager::mutable_error_description() {
 }
 inline ::std::string* Error_manager::release_error_description() {
   // @@protoc_insertion_point(field_release:message.Error_manager.error_description)
+  if (!has_error_description()) {
+    return NULL;
+  }
   clear_has_error_description();
-  return error_description_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  return error_description_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
 }
 inline void Error_manager::set_allocated_error_description(::std::string* error_description) {
   if (error_description != NULL) {
@@ -1879,8 +1908,11 @@ inline ::std::string* Car_info::mutable_license() {
 }
 inline ::std::string* Car_info::release_license() {
   // @@protoc_insertion_point(field_release:message.Car_info.license)
+  if (!has_license()) {
+    return NULL;
+  }
   clear_has_license();
-  return license_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  return license_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
 }
 inline void Car_info::set_allocated_license(::std::string* license) {
   if (license != NULL) {
@@ -2104,6 +2136,9 @@ inline void Parkspace_info::clear_car_info() {
   if (car_info_ != NULL) car_info_->Clear();
   clear_has_car_info();
 }
+inline const ::message::Car_info& Parkspace_info::_internal_car_info() const {
+  return *car_info_;
+}
 inline const ::message::Car_info& Parkspace_info::car_info() const {
   const ::message::Car_info* p = car_info_;
   // @@protoc_insertion_point(field_get:message.Parkspace_info.car_info)
@@ -2120,7 +2155,8 @@ inline ::message::Car_info* Parkspace_info::release_car_info() {
 inline ::message::Car_info* Parkspace_info::mutable_car_info() {
   set_has_car_info();
   if (car_info_ == NULL) {
-    car_info_ = new ::message::Car_info;
+    auto* p = CreateMaybeMessage<::message::Car_info>(GetArenaNoVirtual());
+    car_info_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Parkspace_info.car_info)
   return car_info_;
@@ -2194,8 +2230,11 @@ inline ::std::string* Parkspace_info::mutable_entry_time() {
 }
 inline ::std::string* Parkspace_info::release_entry_time() {
   // @@protoc_insertion_point(field_release:message.Parkspace_info.entry_time)
+  if (!has_entry_time()) {
+    return NULL;
+  }
   clear_has_entry_time();
-  return entry_time_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  return entry_time_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
 }
 inline void Parkspace_info::set_allocated_entry_time(::std::string* entry_time) {
   if (entry_time != NULL) {
@@ -2257,8 +2296,11 @@ inline ::std::string* Parkspace_info::mutable_leave_time() {
 }
 inline ::std::string* Parkspace_info::release_leave_time() {
   // @@protoc_insertion_point(field_release:message.Parkspace_info.leave_time)
+  if (!has_leave_time()) {
+    return NULL;
+  }
   clear_has_leave_time();
-  return leave_time_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  return leave_time_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
 }
 inline void Parkspace_info::set_allocated_leave_time(::std::string* leave_time) {
   if (leave_time != NULL) {
@@ -2291,42 +2333,42 @@ inline void Parkspace_info::set_allocated_leave_time(::std::string* leave_time)
 namespace google {
 namespace protobuf {
 
-template <> struct is_proto_enum< ::message::Message_type> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Message_type> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Message_type>() {
   return ::message::Message_type_descriptor();
 }
-template <> struct is_proto_enum< ::message::Communicator> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Communicator> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Communicator>() {
   return ::message::Communicator_descriptor();
 }
-template <> struct is_proto_enum< ::message::Process_type> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Process_type> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Process_type>() {
   return ::message::Process_type_descriptor();
 }
-template <> struct is_proto_enum< ::message::Error_level> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Error_level> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Error_level>() {
   return ::message::Error_level_descriptor();
 }
-template <> struct is_proto_enum< ::message::Parkspace_status> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Parkspace_status> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Parkspace_status>() {
   return ::message::Parkspace_status_descriptor();
 }
-template <> struct is_proto_enum< ::message::Direction> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Direction> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Direction>() {
   return ::message::Direction_descriptor();
 }
-template <> struct is_proto_enum< ::message::Step_type> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Step_type> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Step_type>() {
   return ::message::Step_type_descriptor();
 }
-template <> struct is_proto_enum< ::message::Step_statu> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Step_statu> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Step_statu>() {
   return ::message::Step_statu_descriptor();
@@ -2337,4 +2379,4 @@ inline const EnumDescriptor* GetEnumDescriptor< ::message::Step_statu>() {
 
 // @@protoc_insertion_point(global_scope)
 
-#endif  // PROTOBUF_message_5fbase_2eproto__INCLUDED
+#endif  // PROTOBUF_INCLUDED_message_5fbase_2eproto

File diff suppressed because it is too large
+ 283 - 430
message/parkspace_allocation_message.pb.cc


File diff suppressed because it is too large
+ 418 - 218
message/parkspace_allocation_message.pb.h


File diff suppressed because it is too large
+ 544 - 873
message/process_message.pb.cc


File diff suppressed because it is too large
+ 847 - 449
message/process_message.pb.h


+ 119 - 179
message/terminal_message.pb.cc

@@ -7,7 +7,6 @@
 
 #include <google/protobuf/stubs/common.h>
 #include <google/protobuf/stubs/port.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>
@@ -19,6 +18,13 @@
 #include "third_party/protobuf/version.h"
 #endif
 // @@protoc_insertion_point(includes)
+
+namespace protobuf_message_5fbase_2eproto {
+extern PROTOBUF_INTERNAL_EXPORT_protobuf_message_5fbase_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Base_info;
+extern PROTOBUF_INTERNAL_EXPORT_protobuf_message_5fbase_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Car_info;
+extern PROTOBUF_INTERNAL_EXPORT_protobuf_message_5fbase_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Error_manager;
+extern PROTOBUF_INTERNAL_EXPORT_protobuf_message_5fbase_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Locate_information;
+}  // namespace protobuf_message_5fbase_2eproto
 namespace message {
 class Store_command_request_msgDefaultTypeInternal {
  public:
@@ -42,17 +48,9 @@ class Pickup_command_response_msgDefaultTypeInternal {
 } _Pickup_command_response_msg_default_instance_;
 }  // namespace message
 namespace protobuf_terminal_5fmessage_2eproto {
-void InitDefaultsStore_command_request_msgImpl() {
+static void InitDefaultsStore_command_request_msg() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
-  protobuf_message_5fbase_2eproto::InitDefaultsLocate_information();
-  protobuf_message_5fbase_2eproto::InitDefaultsCar_info();
   {
     void* ptr = &::message::_Store_command_request_msg_default_instance_;
     new (ptr) ::message::Store_command_request_msg();
@@ -61,21 +59,15 @@ void InitDefaultsStore_command_request_msgImpl() {
   ::message::Store_command_request_msg::InitAsDefaultInstance();
 }
 
-void InitDefaultsStore_command_request_msg() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsStore_command_request_msgImpl);
-}
+::google::protobuf::internal::SCCInfo<3> scc_info_Store_command_request_msg =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsStore_command_request_msg}, {
+      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,
+      &protobuf_message_5fbase_2eproto::scc_info_Locate_information.base,
+      &protobuf_message_5fbase_2eproto::scc_info_Car_info.base,}};
 
-void InitDefaultsStore_command_response_msgImpl() {
+static void InitDefaultsStore_command_response_msg() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
-  protobuf_message_5fbase_2eproto::InitDefaultsError_manager();
   {
     void* ptr = &::message::_Store_command_response_msg_default_instance_;
     new (ptr) ::message::Store_command_response_msg();
@@ -84,21 +76,14 @@ void InitDefaultsStore_command_response_msgImpl() {
   ::message::Store_command_response_msg::InitAsDefaultInstance();
 }
 
-void InitDefaultsStore_command_response_msg() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsStore_command_response_msgImpl);
-}
+::google::protobuf::internal::SCCInfo<2> scc_info_Store_command_response_msg =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsStore_command_response_msg}, {
+      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,
+      &protobuf_message_5fbase_2eproto::scc_info_Error_manager.base,}};
 
-void InitDefaultsPickup_command_request_msgImpl() {
+static void InitDefaultsPickup_command_request_msg() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
-  protobuf_message_5fbase_2eproto::InitDefaultsCar_info();
   {
     void* ptr = &::message::_Pickup_command_request_msg_default_instance_;
     new (ptr) ::message::Pickup_command_request_msg();
@@ -107,21 +92,14 @@ void InitDefaultsPickup_command_request_msgImpl() {
   ::message::Pickup_command_request_msg::InitAsDefaultInstance();
 }
 
-void InitDefaultsPickup_command_request_msg() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsPickup_command_request_msgImpl);
-}
+::google::protobuf::internal::SCCInfo<2> scc_info_Pickup_command_request_msg =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsPickup_command_request_msg}, {
+      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,
+      &protobuf_message_5fbase_2eproto::scc_info_Car_info.base,}};
 
-void InitDefaultsPickup_command_response_msgImpl() {
+static void InitDefaultsPickup_command_response_msg() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
-  protobuf_message_5fbase_2eproto::InitDefaultsError_manager();
   {
     void* ptr = &::message::_Pickup_command_response_msg_default_instance_;
     new (ptr) ::message::Pickup_command_response_msg();
@@ -130,9 +108,16 @@ void InitDefaultsPickup_command_response_msgImpl() {
   ::message::Pickup_command_response_msg::InitAsDefaultInstance();
 }
 
-void InitDefaultsPickup_command_response_msg() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsPickup_command_response_msgImpl);
+::google::protobuf::internal::SCCInfo<2> scc_info_Pickup_command_response_msg =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsPickup_command_response_msg}, {
+      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,
+      &protobuf_message_5fbase_2eproto::scc_info_Error_manager.base,}};
+
+void InitDefaults() {
+  ::google::protobuf::internal::InitSCC(&scc_info_Store_command_request_msg.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_Store_command_response_msg.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_Pickup_command_request_msg.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_Pickup_command_response_msg.base);
 }
 
 ::google::protobuf::Metadata file_level_metadata[4];
@@ -201,15 +186,14 @@ static ::google::protobuf::Message const * const file_default_instances[] = {
 
 void protobuf_AssignDescriptors() {
   AddDescriptors();
-  ::google::protobuf::MessageFactory* factory = NULL;
   AssignDescriptors(
-      "terminal_message.proto", schemas, file_default_instances, TableStruct::offsets, factory,
+      "terminal_message.proto", schemas, file_default_instances, TableStruct::offsets,
       file_level_metadata, NULL, NULL);
 }
 
 void protobuf_AssignDescriptorsOnce() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
+  static ::google::protobuf::internal::once_flag once;
+  ::google::protobuf::internal::call_once(once, protobuf_AssignDescriptors);
 }
 
 void protobuf_RegisterTypes(const ::std::string&) GOOGLE_PROTOBUF_ATTRIBUTE_COLD;
@@ -246,8 +230,8 @@ void AddDescriptorsImpl() {
 }
 
 void AddDescriptors() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
+  static ::google::protobuf::internal::once_flag once;
+  ::google::protobuf::internal::call_once(once, AddDescriptorsImpl);
 }
 // Force AddDescriptors() to be called at dynamic initialization time.
 struct StaticDescriptorInitializer {
@@ -289,17 +273,15 @@ const int Store_command_request_msg::kCarInfoFieldNumber;
 
 Store_command_request_msg::Store_command_request_msg()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_terminal_5fmessage_2eproto::InitDefaultsStore_command_request_msg();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_terminal_5fmessage_2eproto::scc_info_Store_command_request_msg.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Store_command_request_msg)
 }
 Store_command_request_msg::Store_command_request_msg(const Store_command_request_msg& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
+      _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   if (from.has_base_info()) {
     base_info_ = new ::message::Base_info(*from.base_info_);
@@ -321,7 +303,6 @@ Store_command_request_msg::Store_command_request_msg(const Store_command_request
 }
 
 void Store_command_request_msg::SharedCtor() {
-  _cached_size_ = 0;
   ::memset(&base_info_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&terminal_id_) -
       reinterpret_cast<char*>(&base_info_)) + sizeof(terminal_id_));
@@ -339,9 +320,7 @@ void Store_command_request_msg::SharedDtor() {
 }
 
 void Store_command_request_msg::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Store_command_request_msg::descriptor() {
   ::protobuf_terminal_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
@@ -349,17 +328,10 @@ const ::google::protobuf::Descriptor* Store_command_request_msg::descriptor() {
 }
 
 const Store_command_request_msg& Store_command_request_msg::default_instance() {
-  ::protobuf_terminal_5fmessage_2eproto::InitDefaultsStore_command_request_msg();
+  ::google::protobuf::internal::InitSCC(&protobuf_terminal_5fmessage_2eproto::scc_info_Store_command_request_msg.base);
   return *internal_default_instance();
 }
 
-Store_command_request_msg* Store_command_request_msg::New(::google::protobuf::Arena* arena) const {
-  Store_command_request_msg* n = new Store_command_request_msg;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Store_command_request_msg::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Store_command_request_msg)
@@ -393,7 +365,7 @@ bool Store_command_request_msg::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Store_command_request_msg)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -477,7 +449,7 @@ void Store_command_request_msg::SerializeWithCachedSizes(
   // required .message.Base_info base_info = 1;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, *this->base_info_, output);
+      1, this->_internal_base_info(), output);
   }
 
   // required int32 terminal_id = 2;
@@ -488,13 +460,13 @@ void Store_command_request_msg::SerializeWithCachedSizes(
   // required .message.Locate_information locate_information = 3;
   if (cached_has_bits & 0x00000002u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      3, *this->locate_information_, output);
+      3, this->_internal_locate_information(), output);
   }
 
   // required .message.Car_info car_info = 4;
   if (cached_has_bits & 0x00000004u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      4, *this->car_info_, output);
+      4, this->_internal_car_info(), output);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -516,7 +488,7 @@ void Store_command_request_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000001u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        1, *this->base_info_, deterministic, target);
+        1, this->_internal_base_info(), deterministic, target);
   }
 
   // required int32 terminal_id = 2;
@@ -528,14 +500,14 @@ void Store_command_request_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000002u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        3, *this->locate_information_, deterministic, target);
+        3, this->_internal_locate_information(), deterministic, target);
   }
 
   // required .message.Car_info car_info = 4;
   if (cached_has_bits & 0x00000004u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        4, *this->car_info_, deterministic, target);
+        4, this->_internal_car_info(), deterministic, target);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -554,21 +526,21 @@ size_t Store_command_request_msg::RequiredFieldsByteSizeFallback() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
   }
 
   if (has_locate_information()) {
     // required .message.Locate_information locate_information = 3;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->locate_information_);
+        *locate_information_);
   }
 
   if (has_car_info()) {
     // required .message.Car_info car_info = 4;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->car_info_);
+        *car_info_);
   }
 
   if (has_terminal_id()) {
@@ -593,17 +565,17 @@ size_t Store_command_request_msg::ByteSizeLong() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
 
     // required .message.Locate_information locate_information = 3;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->locate_information_);
+        *locate_information_);
 
     // required .message.Car_info car_info = 4;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->car_info_);
+        *car_info_);
 
     // required int32 terminal_id = 2;
     total_size += 1 +
@@ -614,9 +586,7 @@ size_t Store_command_request_msg::ByteSizeLong() const {
     total_size += RequiredFieldsByteSizeFallback();
   }
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -694,7 +664,6 @@ void Store_command_request_msg::InternalSwap(Store_command_request_msg* other) {
   swap(terminal_id_, other->terminal_id_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Store_command_request_msg::GetMetadata() const {
@@ -727,17 +696,15 @@ const int Store_command_response_msg::kCodeFieldNumber;
 
 Store_command_response_msg::Store_command_response_msg()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_terminal_5fmessage_2eproto::InitDefaultsStore_command_response_msg();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_terminal_5fmessage_2eproto::scc_info_Store_command_response_msg.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Store_command_response_msg)
 }
 Store_command_response_msg::Store_command_response_msg(const Store_command_response_msg& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
+      _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   if (from.has_base_info()) {
     base_info_ = new ::message::Base_info(*from.base_info_);
@@ -754,7 +721,6 @@ Store_command_response_msg::Store_command_response_msg(const Store_command_respo
 }
 
 void Store_command_response_msg::SharedCtor() {
-  _cached_size_ = 0;
   ::memset(&base_info_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&terminal_id_) -
       reinterpret_cast<char*>(&base_info_)) + sizeof(terminal_id_));
@@ -771,9 +737,7 @@ void Store_command_response_msg::SharedDtor() {
 }
 
 void Store_command_response_msg::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Store_command_response_msg::descriptor() {
   ::protobuf_terminal_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
@@ -781,17 +745,10 @@ const ::google::protobuf::Descriptor* Store_command_response_msg::descriptor() {
 }
 
 const Store_command_response_msg& Store_command_response_msg::default_instance() {
-  ::protobuf_terminal_5fmessage_2eproto::InitDefaultsStore_command_response_msg();
+  ::google::protobuf::internal::InitSCC(&protobuf_terminal_5fmessage_2eproto::scc_info_Store_command_response_msg.base);
   return *internal_default_instance();
 }
 
-Store_command_response_msg* Store_command_response_msg::New(::google::protobuf::Arena* arena) const {
-  Store_command_response_msg* n = new Store_command_response_msg;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Store_command_response_msg::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Store_command_response_msg)
@@ -821,7 +778,7 @@ bool Store_command_response_msg::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Store_command_response_msg)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -893,7 +850,7 @@ void Store_command_response_msg::SerializeWithCachedSizes(
   // required .message.Base_info base_info = 1;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, *this->base_info_, output);
+      1, this->_internal_base_info(), output);
   }
 
   // required int32 terminal_id = 2;
@@ -904,7 +861,7 @@ void Store_command_response_msg::SerializeWithCachedSizes(
   // required .message.Error_manager code = 3;
   if (cached_has_bits & 0x00000002u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      3, *this->code_, output);
+      3, this->_internal_code(), output);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -926,7 +883,7 @@ void Store_command_response_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000001u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        1, *this->base_info_, deterministic, target);
+        1, this->_internal_base_info(), deterministic, target);
   }
 
   // required int32 terminal_id = 2;
@@ -938,7 +895,7 @@ void Store_command_response_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000002u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        3, *this->code_, deterministic, target);
+        3, this->_internal_code(), deterministic, target);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -957,14 +914,14 @@ size_t Store_command_response_msg::RequiredFieldsByteSizeFallback() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
   }
 
   if (has_code()) {
     // required .message.Error_manager code = 3;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->code_);
+        *code_);
   }
 
   if (has_terminal_id()) {
@@ -989,12 +946,12 @@ size_t Store_command_response_msg::ByteSizeLong() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
 
     // required .message.Error_manager code = 3;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->code_);
+        *code_);
 
     // required int32 terminal_id = 2;
     total_size += 1 +
@@ -1005,9 +962,7 @@ size_t Store_command_response_msg::ByteSizeLong() const {
     total_size += RequiredFieldsByteSizeFallback();
   }
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -1084,7 +1039,6 @@ void Store_command_response_msg::InternalSwap(Store_command_response_msg* other)
   swap(terminal_id_, other->terminal_id_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Store_command_response_msg::GetMetadata() const {
@@ -1117,17 +1071,15 @@ const int Pickup_command_request_msg::kCarInfoFieldNumber;
 
 Pickup_command_request_msg::Pickup_command_request_msg()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_terminal_5fmessage_2eproto::InitDefaultsPickup_command_request_msg();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_terminal_5fmessage_2eproto::scc_info_Pickup_command_request_msg.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Pickup_command_request_msg)
 }
 Pickup_command_request_msg::Pickup_command_request_msg(const Pickup_command_request_msg& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
+      _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   if (from.has_base_info()) {
     base_info_ = new ::message::Base_info(*from.base_info_);
@@ -1144,7 +1096,6 @@ Pickup_command_request_msg::Pickup_command_request_msg(const Pickup_command_requ
 }
 
 void Pickup_command_request_msg::SharedCtor() {
-  _cached_size_ = 0;
   ::memset(&base_info_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&terminal_id_) -
       reinterpret_cast<char*>(&base_info_)) + sizeof(terminal_id_));
@@ -1161,9 +1112,7 @@ void Pickup_command_request_msg::SharedDtor() {
 }
 
 void Pickup_command_request_msg::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Pickup_command_request_msg::descriptor() {
   ::protobuf_terminal_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
@@ -1171,17 +1120,10 @@ const ::google::protobuf::Descriptor* Pickup_command_request_msg::descriptor() {
 }
 
 const Pickup_command_request_msg& Pickup_command_request_msg::default_instance() {
-  ::protobuf_terminal_5fmessage_2eproto::InitDefaultsPickup_command_request_msg();
+  ::google::protobuf::internal::InitSCC(&protobuf_terminal_5fmessage_2eproto::scc_info_Pickup_command_request_msg.base);
   return *internal_default_instance();
 }
 
-Pickup_command_request_msg* Pickup_command_request_msg::New(::google::protobuf::Arena* arena) const {
-  Pickup_command_request_msg* n = new Pickup_command_request_msg;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Pickup_command_request_msg::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Pickup_command_request_msg)
@@ -1211,7 +1153,7 @@ bool Pickup_command_request_msg::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Pickup_command_request_msg)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -1283,7 +1225,7 @@ void Pickup_command_request_msg::SerializeWithCachedSizes(
   // required .message.Base_info base_info = 1;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, *this->base_info_, output);
+      1, this->_internal_base_info(), output);
   }
 
   // required int32 terminal_id = 2;
@@ -1294,7 +1236,7 @@ void Pickup_command_request_msg::SerializeWithCachedSizes(
   // required .message.Car_info car_info = 4;
   if (cached_has_bits & 0x00000002u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      4, *this->car_info_, output);
+      4, this->_internal_car_info(), output);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -1316,7 +1258,7 @@ void Pickup_command_request_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000001u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        1, *this->base_info_, deterministic, target);
+        1, this->_internal_base_info(), deterministic, target);
   }
 
   // required int32 terminal_id = 2;
@@ -1328,7 +1270,7 @@ void Pickup_command_request_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000002u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        4, *this->car_info_, deterministic, target);
+        4, this->_internal_car_info(), deterministic, target);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -1347,14 +1289,14 @@ size_t Pickup_command_request_msg::RequiredFieldsByteSizeFallback() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
   }
 
   if (has_car_info()) {
     // required .message.Car_info car_info = 4;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->car_info_);
+        *car_info_);
   }
 
   if (has_terminal_id()) {
@@ -1379,12 +1321,12 @@ size_t Pickup_command_request_msg::ByteSizeLong() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
 
     // required .message.Car_info car_info = 4;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->car_info_);
+        *car_info_);
 
     // required int32 terminal_id = 2;
     total_size += 1 +
@@ -1395,9 +1337,7 @@ size_t Pickup_command_request_msg::ByteSizeLong() const {
     total_size += RequiredFieldsByteSizeFallback();
   }
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -1471,7 +1411,6 @@ void Pickup_command_request_msg::InternalSwap(Pickup_command_request_msg* other)
   swap(terminal_id_, other->terminal_id_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Pickup_command_request_msg::GetMetadata() const {
@@ -1504,17 +1443,15 @@ const int Pickup_command_response_msg::kCodeFieldNumber;
 
 Pickup_command_response_msg::Pickup_command_response_msg()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_terminal_5fmessage_2eproto::InitDefaultsPickup_command_response_msg();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_terminal_5fmessage_2eproto::scc_info_Pickup_command_response_msg.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Pickup_command_response_msg)
 }
 Pickup_command_response_msg::Pickup_command_response_msg(const Pickup_command_response_msg& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
+      _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   if (from.has_base_info()) {
     base_info_ = new ::message::Base_info(*from.base_info_);
@@ -1531,7 +1468,6 @@ Pickup_command_response_msg::Pickup_command_response_msg(const Pickup_command_re
 }
 
 void Pickup_command_response_msg::SharedCtor() {
-  _cached_size_ = 0;
   ::memset(&base_info_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&terminal_id_) -
       reinterpret_cast<char*>(&base_info_)) + sizeof(terminal_id_));
@@ -1548,9 +1484,7 @@ void Pickup_command_response_msg::SharedDtor() {
 }
 
 void Pickup_command_response_msg::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* Pickup_command_response_msg::descriptor() {
   ::protobuf_terminal_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
@@ -1558,17 +1492,10 @@ const ::google::protobuf::Descriptor* Pickup_command_response_msg::descriptor()
 }
 
 const Pickup_command_response_msg& Pickup_command_response_msg::default_instance() {
-  ::protobuf_terminal_5fmessage_2eproto::InitDefaultsPickup_command_response_msg();
+  ::google::protobuf::internal::InitSCC(&protobuf_terminal_5fmessage_2eproto::scc_info_Pickup_command_response_msg.base);
   return *internal_default_instance();
 }
 
-Pickup_command_response_msg* Pickup_command_response_msg::New(::google::protobuf::Arena* arena) const {
-  Pickup_command_response_msg* n = new Pickup_command_response_msg;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Pickup_command_response_msg::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Pickup_command_response_msg)
@@ -1598,7 +1525,7 @@ bool Pickup_command_response_msg::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Pickup_command_response_msg)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -1670,7 +1597,7 @@ void Pickup_command_response_msg::SerializeWithCachedSizes(
   // required .message.Base_info base_info = 1;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, *this->base_info_, output);
+      1, this->_internal_base_info(), output);
   }
 
   // required int32 terminal_id = 2;
@@ -1681,7 +1608,7 @@ void Pickup_command_response_msg::SerializeWithCachedSizes(
   // required .message.Error_manager code = 3;
   if (cached_has_bits & 0x00000002u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      3, *this->code_, output);
+      3, this->_internal_code(), output);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -1703,7 +1630,7 @@ void Pickup_command_response_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000001u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        1, *this->base_info_, deterministic, target);
+        1, this->_internal_base_info(), deterministic, target);
   }
 
   // required int32 terminal_id = 2;
@@ -1715,7 +1642,7 @@ void Pickup_command_response_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000002u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        3, *this->code_, deterministic, target);
+        3, this->_internal_code(), deterministic, target);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -1734,14 +1661,14 @@ size_t Pickup_command_response_msg::RequiredFieldsByteSizeFallback() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
   }
 
   if (has_code()) {
     // required .message.Error_manager code = 3;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->code_);
+        *code_);
   }
 
   if (has_terminal_id()) {
@@ -1766,12 +1693,12 @@ size_t Pickup_command_response_msg::ByteSizeLong() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
 
     // required .message.Error_manager code = 3;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->code_);
+        *code_);
 
     // required int32 terminal_id = 2;
     total_size += 1 +
@@ -1782,9 +1709,7 @@ size_t Pickup_command_response_msg::ByteSizeLong() const {
     total_size += RequiredFieldsByteSizeFallback();
   }
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -1861,7 +1786,6 @@ void Pickup_command_response_msg::InternalSwap(Pickup_command_response_msg* othe
   swap(terminal_id_, other->terminal_id_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Pickup_command_response_msg::GetMetadata() const {
@@ -1872,5 +1796,21 @@ void Pickup_command_response_msg::InternalSwap(Pickup_command_response_msg* othe
 
 // @@protoc_insertion_point(namespace_scope)
 }  // namespace message
+namespace google {
+namespace protobuf {
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Store_command_request_msg* Arena::CreateMaybeMessage< ::message::Store_command_request_msg >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Store_command_request_msg >(arena);
+}
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Store_command_response_msg* Arena::CreateMaybeMessage< ::message::Store_command_response_msg >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Store_command_response_msg >(arena);
+}
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Pickup_command_request_msg* Arena::CreateMaybeMessage< ::message::Pickup_command_request_msg >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Pickup_command_request_msg >(arena);
+}
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Pickup_command_response_msg* Arena::CreateMaybeMessage< ::message::Pickup_command_response_msg >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Pickup_command_response_msg >(arena);
+}
+}  // namespace protobuf
+}  // namespace google
 
 // @@protoc_insertion_point(global_scope)

+ 167 - 92
message/terminal_message.pb.h

@@ -1,19 +1,19 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: terminal_message.proto
 
-#ifndef PROTOBUF_terminal_5fmessage_2eproto__INCLUDED
-#define PROTOBUF_terminal_5fmessage_2eproto__INCLUDED
+#ifndef PROTOBUF_INCLUDED_terminal_5fmessage_2eproto
+#define PROTOBUF_INCLUDED_terminal_5fmessage_2eproto
 
 #include <string>
 
 #include <google/protobuf/stubs/common.h>
 
-#if GOOGLE_PROTOBUF_VERSION < 3005000
+#if GOOGLE_PROTOBUF_VERSION < 3006001
 #error This file was generated by a newer version of protoc which is
 #error incompatible with your Protocol Buffer headers.  Please update
 #error your headers.
 #endif
-#if 3005000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
 #error This file was generated by an older version of protoc which is
 #error incompatible with your Protocol Buffer headers.  Please
 #error regenerate this file with a newer version of protoc.
@@ -24,6 +24,7 @@
 #include <google/protobuf/arenastring.h>
 #include <google/protobuf/generated_message_table_driven.h>
 #include <google/protobuf/generated_message_util.h>
+#include <google/protobuf/inlined_string_field.h>
 #include <google/protobuf/metadata.h>
 #include <google/protobuf/message.h>
 #include <google/protobuf/repeated_field.h>  // IWYU pragma: export
@@ -31,6 +32,7 @@
 #include <google/protobuf/unknown_field_set.h>
 #include "message_base.pb.h"
 // @@protoc_insertion_point(includes)
+#define PROTOBUF_INTERNAL_EXPORT_protobuf_terminal_5fmessage_2eproto 
 
 namespace protobuf_terminal_5fmessage_2eproto {
 // Internal implementation detail -- do not use these members.
@@ -43,20 +45,6 @@ struct TableStruct {
   static const ::google::protobuf::uint32 offsets[];
 };
 void AddDescriptors();
-void InitDefaultsStore_command_request_msgImpl();
-void InitDefaultsStore_command_request_msg();
-void InitDefaultsStore_command_response_msgImpl();
-void InitDefaultsStore_command_response_msg();
-void InitDefaultsPickup_command_request_msgImpl();
-void InitDefaultsPickup_command_request_msg();
-void InitDefaultsPickup_command_response_msgImpl();
-void InitDefaultsPickup_command_response_msg();
-inline void InitDefaults() {
-  InitDefaultsStore_command_request_msg();
-  InitDefaultsStore_command_response_msg();
-  InitDefaultsPickup_command_request_msg();
-  InitDefaultsPickup_command_response_msg();
-}
 }  // namespace protobuf_terminal_5fmessage_2eproto
 namespace message {
 class Pickup_command_request_msg;
@@ -72,6 +60,14 @@ class Store_command_response_msg;
 class Store_command_response_msgDefaultTypeInternal;
 extern Store_command_response_msgDefaultTypeInternal _Store_command_response_msg_default_instance_;
 }  // namespace message
+namespace google {
+namespace protobuf {
+template<> ::message::Pickup_command_request_msg* Arena::CreateMaybeMessage<::message::Pickup_command_request_msg>(Arena*);
+template<> ::message::Pickup_command_response_msg* Arena::CreateMaybeMessage<::message::Pickup_command_response_msg>(Arena*);
+template<> ::message::Store_command_request_msg* Arena::CreateMaybeMessage<::message::Store_command_request_msg>(Arena*);
+template<> ::message::Store_command_response_msg* Arena::CreateMaybeMessage<::message::Store_command_response_msg>(Arena*);
+}  // namespace protobuf
+}  // namespace google
 namespace message {
 
 // ===================================================================
@@ -117,7 +113,7 @@ class Store_command_request_msg : public ::google::protobuf::Message /* @@protoc
     return reinterpret_cast<const Store_command_request_msg*>(
                &_Store_command_request_msg_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     0;
 
   void Swap(Store_command_request_msg* other);
@@ -127,28 +123,33 @@ class Store_command_request_msg : public ::google::protobuf::Message /* @@protoc
 
   // implements Message ----------------------------------------------
 
-  inline Store_command_request_msg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Store_command_request_msg* New() const final {
+    return CreateMaybeMessage<Store_command_request_msg>(NULL);
+  }
 
-  Store_command_request_msg* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Store_command_request_msg* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Store_command_request_msg>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Store_command_request_msg& from);
   void MergeFrom(const Store_command_request_msg& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Store_command_request_msg* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -159,7 +160,7 @@ class Store_command_request_msg : public ::google::protobuf::Message /* @@protoc
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -169,6 +170,9 @@ class Store_command_request_msg : public ::google::protobuf::Message /* @@protoc
   bool has_base_info() const;
   void clear_base_info();
   static const int kBaseInfoFieldNumber = 1;
+  private:
+  const ::message::Base_info& _internal_base_info() const;
+  public:
   const ::message::Base_info& base_info() const;
   ::message::Base_info* release_base_info();
   ::message::Base_info* mutable_base_info();
@@ -178,6 +182,9 @@ class Store_command_request_msg : public ::google::protobuf::Message /* @@protoc
   bool has_locate_information() const;
   void clear_locate_information();
   static const int kLocateInformationFieldNumber = 3;
+  private:
+  const ::message::Locate_information& _internal_locate_information() const;
+  public:
   const ::message::Locate_information& locate_information() const;
   ::message::Locate_information* release_locate_information();
   ::message::Locate_information* mutable_locate_information();
@@ -187,6 +194,9 @@ class Store_command_request_msg : public ::google::protobuf::Message /* @@protoc
   bool has_car_info() const;
   void clear_car_info();
   static const int kCarInfoFieldNumber = 4;
+  private:
+  const ::message::Car_info& _internal_car_info() const;
+  public:
   const ::message::Car_info& car_info() const;
   ::message::Car_info* release_car_info();
   ::message::Car_info* mutable_car_info();
@@ -215,13 +225,12 @@ class Store_command_request_msg : public ::google::protobuf::Message /* @@protoc
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::message::Base_info* base_info_;
   ::message::Locate_information* locate_information_;
   ::message::Car_info* car_info_;
   ::google::protobuf::int32 terminal_id_;
   friend struct ::protobuf_terminal_5fmessage_2eproto::TableStruct;
-  friend void ::protobuf_terminal_5fmessage_2eproto::InitDefaultsStore_command_request_msgImpl();
 };
 // -------------------------------------------------------------------
 
@@ -266,7 +275,7 @@ class Store_command_response_msg : public ::google::protobuf::Message /* @@proto
     return reinterpret_cast<const Store_command_response_msg*>(
                &_Store_command_response_msg_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     1;
 
   void Swap(Store_command_response_msg* other);
@@ -276,28 +285,33 @@ class Store_command_response_msg : public ::google::protobuf::Message /* @@proto
 
   // implements Message ----------------------------------------------
 
-  inline Store_command_response_msg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Store_command_response_msg* New() const final {
+    return CreateMaybeMessage<Store_command_response_msg>(NULL);
+  }
 
-  Store_command_response_msg* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Store_command_response_msg* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Store_command_response_msg>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Store_command_response_msg& from);
   void MergeFrom(const Store_command_response_msg& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Store_command_response_msg* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -308,7 +322,7 @@ class Store_command_response_msg : public ::google::protobuf::Message /* @@proto
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -318,6 +332,9 @@ class Store_command_response_msg : public ::google::protobuf::Message /* @@proto
   bool has_base_info() const;
   void clear_base_info();
   static const int kBaseInfoFieldNumber = 1;
+  private:
+  const ::message::Base_info& _internal_base_info() const;
+  public:
   const ::message::Base_info& base_info() const;
   ::message::Base_info* release_base_info();
   ::message::Base_info* mutable_base_info();
@@ -327,6 +344,9 @@ class Store_command_response_msg : public ::google::protobuf::Message /* @@proto
   bool has_code() const;
   void clear_code();
   static const int kCodeFieldNumber = 3;
+  private:
+  const ::message::Error_manager& _internal_code() const;
+  public:
   const ::message::Error_manager& code() const;
   ::message::Error_manager* release_code();
   ::message::Error_manager* mutable_code();
@@ -353,12 +373,11 @@ class Store_command_response_msg : public ::google::protobuf::Message /* @@proto
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::message::Base_info* base_info_;
   ::message::Error_manager* code_;
   ::google::protobuf::int32 terminal_id_;
   friend struct ::protobuf_terminal_5fmessage_2eproto::TableStruct;
-  friend void ::protobuf_terminal_5fmessage_2eproto::InitDefaultsStore_command_response_msgImpl();
 };
 // -------------------------------------------------------------------
 
@@ -403,7 +422,7 @@ class Pickup_command_request_msg : public ::google::protobuf::Message /* @@proto
     return reinterpret_cast<const Pickup_command_request_msg*>(
                &_Pickup_command_request_msg_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     2;
 
   void Swap(Pickup_command_request_msg* other);
@@ -413,28 +432,33 @@ class Pickup_command_request_msg : public ::google::protobuf::Message /* @@proto
 
   // implements Message ----------------------------------------------
 
-  inline Pickup_command_request_msg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Pickup_command_request_msg* New() const final {
+    return CreateMaybeMessage<Pickup_command_request_msg>(NULL);
+  }
 
-  Pickup_command_request_msg* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Pickup_command_request_msg* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Pickup_command_request_msg>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Pickup_command_request_msg& from);
   void MergeFrom(const Pickup_command_request_msg& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Pickup_command_request_msg* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -445,7 +469,7 @@ class Pickup_command_request_msg : public ::google::protobuf::Message /* @@proto
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -455,6 +479,9 @@ class Pickup_command_request_msg : public ::google::protobuf::Message /* @@proto
   bool has_base_info() const;
   void clear_base_info();
   static const int kBaseInfoFieldNumber = 1;
+  private:
+  const ::message::Base_info& _internal_base_info() const;
+  public:
   const ::message::Base_info& base_info() const;
   ::message::Base_info* release_base_info();
   ::message::Base_info* mutable_base_info();
@@ -464,6 +491,9 @@ class Pickup_command_request_msg : public ::google::protobuf::Message /* @@proto
   bool has_car_info() const;
   void clear_car_info();
   static const int kCarInfoFieldNumber = 4;
+  private:
+  const ::message::Car_info& _internal_car_info() const;
+  public:
   const ::message::Car_info& car_info() const;
   ::message::Car_info* release_car_info();
   ::message::Car_info* mutable_car_info();
@@ -490,12 +520,11 @@ class Pickup_command_request_msg : public ::google::protobuf::Message /* @@proto
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::message::Base_info* base_info_;
   ::message::Car_info* car_info_;
   ::google::protobuf::int32 terminal_id_;
   friend struct ::protobuf_terminal_5fmessage_2eproto::TableStruct;
-  friend void ::protobuf_terminal_5fmessage_2eproto::InitDefaultsPickup_command_request_msgImpl();
 };
 // -------------------------------------------------------------------
 
@@ -540,7 +569,7 @@ class Pickup_command_response_msg : public ::google::protobuf::Message /* @@prot
     return reinterpret_cast<const Pickup_command_response_msg*>(
                &_Pickup_command_response_msg_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     3;
 
   void Swap(Pickup_command_response_msg* other);
@@ -550,28 +579,33 @@ class Pickup_command_response_msg : public ::google::protobuf::Message /* @@prot
 
   // implements Message ----------------------------------------------
 
-  inline Pickup_command_response_msg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Pickup_command_response_msg* New() const final {
+    return CreateMaybeMessage<Pickup_command_response_msg>(NULL);
+  }
 
-  Pickup_command_response_msg* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Pickup_command_response_msg* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Pickup_command_response_msg>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Pickup_command_response_msg& from);
   void MergeFrom(const Pickup_command_response_msg& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(Pickup_command_response_msg* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -582,7 +616,7 @@ class Pickup_command_response_msg : public ::google::protobuf::Message /* @@prot
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -592,6 +626,9 @@ class Pickup_command_response_msg : public ::google::protobuf::Message /* @@prot
   bool has_base_info() const;
   void clear_base_info();
   static const int kBaseInfoFieldNumber = 1;
+  private:
+  const ::message::Base_info& _internal_base_info() const;
+  public:
   const ::message::Base_info& base_info() const;
   ::message::Base_info* release_base_info();
   ::message::Base_info* mutable_base_info();
@@ -601,6 +638,9 @@ class Pickup_command_response_msg : public ::google::protobuf::Message /* @@prot
   bool has_code() const;
   void clear_code();
   static const int kCodeFieldNumber = 3;
+  private:
+  const ::message::Error_manager& _internal_code() const;
+  public:
   const ::message::Error_manager& code() const;
   ::message::Error_manager* release_code();
   ::message::Error_manager* mutable_code();
@@ -627,12 +667,11 @@ class Pickup_command_response_msg : public ::google::protobuf::Message /* @@prot
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::message::Base_info* base_info_;
   ::message::Error_manager* code_;
   ::google::protobuf::int32 terminal_id_;
   friend struct ::protobuf_terminal_5fmessage_2eproto::TableStruct;
-  friend void ::protobuf_terminal_5fmessage_2eproto::InitDefaultsPickup_command_response_msgImpl();
 };
 // ===================================================================
 
@@ -655,6 +694,9 @@ inline void Store_command_request_msg::set_has_base_info() {
 inline void Store_command_request_msg::clear_has_base_info() {
   _has_bits_[0] &= ~0x00000001u;
 }
+inline const ::message::Base_info& Store_command_request_msg::_internal_base_info() const {
+  return *base_info_;
+}
 inline const ::message::Base_info& Store_command_request_msg::base_info() const {
   const ::message::Base_info* p = base_info_;
   // @@protoc_insertion_point(field_get:message.Store_command_request_msg.base_info)
@@ -671,7 +713,8 @@ inline ::message::Base_info* Store_command_request_msg::release_base_info() {
 inline ::message::Base_info* Store_command_request_msg::mutable_base_info() {
   set_has_base_info();
   if (base_info_ == NULL) {
-    base_info_ = new ::message::Base_info;
+    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
+    base_info_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Store_command_request_msg.base_info)
   return base_info_;
@@ -729,6 +772,9 @@ inline void Store_command_request_msg::set_has_locate_information() {
 inline void Store_command_request_msg::clear_has_locate_information() {
   _has_bits_[0] &= ~0x00000002u;
 }
+inline const ::message::Locate_information& Store_command_request_msg::_internal_locate_information() const {
+  return *locate_information_;
+}
 inline const ::message::Locate_information& Store_command_request_msg::locate_information() const {
   const ::message::Locate_information* p = locate_information_;
   // @@protoc_insertion_point(field_get:message.Store_command_request_msg.locate_information)
@@ -745,7 +791,8 @@ inline ::message::Locate_information* Store_command_request_msg::release_locate_
 inline ::message::Locate_information* Store_command_request_msg::mutable_locate_information() {
   set_has_locate_information();
   if (locate_information_ == NULL) {
-    locate_information_ = new ::message::Locate_information;
+    auto* p = CreateMaybeMessage<::message::Locate_information>(GetArenaNoVirtual());
+    locate_information_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Store_command_request_msg.locate_information)
   return locate_information_;
@@ -779,6 +826,9 @@ inline void Store_command_request_msg::set_has_car_info() {
 inline void Store_command_request_msg::clear_has_car_info() {
   _has_bits_[0] &= ~0x00000004u;
 }
+inline const ::message::Car_info& Store_command_request_msg::_internal_car_info() const {
+  return *car_info_;
+}
 inline const ::message::Car_info& Store_command_request_msg::car_info() const {
   const ::message::Car_info* p = car_info_;
   // @@protoc_insertion_point(field_get:message.Store_command_request_msg.car_info)
@@ -795,7 +845,8 @@ inline ::message::Car_info* Store_command_request_msg::release_car_info() {
 inline ::message::Car_info* Store_command_request_msg::mutable_car_info() {
   set_has_car_info();
   if (car_info_ == NULL) {
-    car_info_ = new ::message::Car_info;
+    auto* p = CreateMaybeMessage<::message::Car_info>(GetArenaNoVirtual());
+    car_info_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Store_command_request_msg.car_info)
   return car_info_;
@@ -833,6 +884,9 @@ inline void Store_command_response_msg::set_has_base_info() {
 inline void Store_command_response_msg::clear_has_base_info() {
   _has_bits_[0] &= ~0x00000001u;
 }
+inline const ::message::Base_info& Store_command_response_msg::_internal_base_info() const {
+  return *base_info_;
+}
 inline const ::message::Base_info& Store_command_response_msg::base_info() const {
   const ::message::Base_info* p = base_info_;
   // @@protoc_insertion_point(field_get:message.Store_command_response_msg.base_info)
@@ -849,7 +903,8 @@ inline ::message::Base_info* Store_command_response_msg::release_base_info() {
 inline ::message::Base_info* Store_command_response_msg::mutable_base_info() {
   set_has_base_info();
   if (base_info_ == NULL) {
-    base_info_ = new ::message::Base_info;
+    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
+    base_info_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Store_command_response_msg.base_info)
   return base_info_;
@@ -907,6 +962,9 @@ inline void Store_command_response_msg::set_has_code() {
 inline void Store_command_response_msg::clear_has_code() {
   _has_bits_[0] &= ~0x00000002u;
 }
+inline const ::message::Error_manager& Store_command_response_msg::_internal_code() const {
+  return *code_;
+}
 inline const ::message::Error_manager& Store_command_response_msg::code() const {
   const ::message::Error_manager* p = code_;
   // @@protoc_insertion_point(field_get:message.Store_command_response_msg.code)
@@ -923,7 +981,8 @@ inline ::message::Error_manager* Store_command_response_msg::release_code() {
 inline ::message::Error_manager* Store_command_response_msg::mutable_code() {
   set_has_code();
   if (code_ == NULL) {
-    code_ = new ::message::Error_manager;
+    auto* p = CreateMaybeMessage<::message::Error_manager>(GetArenaNoVirtual());
+    code_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Store_command_response_msg.code)
   return code_;
@@ -961,6 +1020,9 @@ inline void Pickup_command_request_msg::set_has_base_info() {
 inline void Pickup_command_request_msg::clear_has_base_info() {
   _has_bits_[0] &= ~0x00000001u;
 }
+inline const ::message::Base_info& Pickup_command_request_msg::_internal_base_info() const {
+  return *base_info_;
+}
 inline const ::message::Base_info& Pickup_command_request_msg::base_info() const {
   const ::message::Base_info* p = base_info_;
   // @@protoc_insertion_point(field_get:message.Pickup_command_request_msg.base_info)
@@ -977,7 +1039,8 @@ inline ::message::Base_info* Pickup_command_request_msg::release_base_info() {
 inline ::message::Base_info* Pickup_command_request_msg::mutable_base_info() {
   set_has_base_info();
   if (base_info_ == NULL) {
-    base_info_ = new ::message::Base_info;
+    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
+    base_info_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Pickup_command_request_msg.base_info)
   return base_info_;
@@ -1035,6 +1098,9 @@ inline void Pickup_command_request_msg::set_has_car_info() {
 inline void Pickup_command_request_msg::clear_has_car_info() {
   _has_bits_[0] &= ~0x00000002u;
 }
+inline const ::message::Car_info& Pickup_command_request_msg::_internal_car_info() const {
+  return *car_info_;
+}
 inline const ::message::Car_info& Pickup_command_request_msg::car_info() const {
   const ::message::Car_info* p = car_info_;
   // @@protoc_insertion_point(field_get:message.Pickup_command_request_msg.car_info)
@@ -1051,7 +1117,8 @@ inline ::message::Car_info* Pickup_command_request_msg::release_car_info() {
 inline ::message::Car_info* Pickup_command_request_msg::mutable_car_info() {
   set_has_car_info();
   if (car_info_ == NULL) {
-    car_info_ = new ::message::Car_info;
+    auto* p = CreateMaybeMessage<::message::Car_info>(GetArenaNoVirtual());
+    car_info_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Pickup_command_request_msg.car_info)
   return car_info_;
@@ -1089,6 +1156,9 @@ inline void Pickup_command_response_msg::set_has_base_info() {
 inline void Pickup_command_response_msg::clear_has_base_info() {
   _has_bits_[0] &= ~0x00000001u;
 }
+inline const ::message::Base_info& Pickup_command_response_msg::_internal_base_info() const {
+  return *base_info_;
+}
 inline const ::message::Base_info& Pickup_command_response_msg::base_info() const {
   const ::message::Base_info* p = base_info_;
   // @@protoc_insertion_point(field_get:message.Pickup_command_response_msg.base_info)
@@ -1105,7 +1175,8 @@ inline ::message::Base_info* Pickup_command_response_msg::release_base_info() {
 inline ::message::Base_info* Pickup_command_response_msg::mutable_base_info() {
   set_has_base_info();
   if (base_info_ == NULL) {
-    base_info_ = new ::message::Base_info;
+    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
+    base_info_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Pickup_command_response_msg.base_info)
   return base_info_;
@@ -1163,6 +1234,9 @@ inline void Pickup_command_response_msg::set_has_code() {
 inline void Pickup_command_response_msg::clear_has_code() {
   _has_bits_[0] &= ~0x00000002u;
 }
+inline const ::message::Error_manager& Pickup_command_response_msg::_internal_code() const {
+  return *code_;
+}
 inline const ::message::Error_manager& Pickup_command_response_msg::code() const {
   const ::message::Error_manager* p = code_;
   // @@protoc_insertion_point(field_get:message.Pickup_command_response_msg.code)
@@ -1179,7 +1253,8 @@ inline ::message::Error_manager* Pickup_command_response_msg::release_code() {
 inline ::message::Error_manager* Pickup_command_response_msg::mutable_code() {
   set_has_code();
   if (code_ == NULL) {
-    code_ = new ::message::Error_manager;
+    auto* p = CreateMaybeMessage<::message::Error_manager>(GetArenaNoVirtual());
+    code_ = p;
   }
   // @@protoc_insertion_point(field_mutable:message.Pickup_command_response_msg.code)
   return code_;
@@ -1219,4 +1294,4 @@ inline void Pickup_command_response_msg::set_allocated_code(::message::Error_man
 
 // @@protoc_insertion_point(global_scope)
 
-#endif  // PROTOBUF_terminal_5fmessage_2eproto__INCLUDED
+#endif  // PROTOBUF_INCLUDED_terminal_5fmessage_2eproto

+ 1 - 0
proto.sh

@@ -6,4 +6,5 @@ protoc -I=./message process_message.proto --cpp_out=./message
 protoc -I=./message dispatch_message.proto --cpp_out=./message
 protoc -I=./message central_control_message.proto --cpp_out=./message
 
+protoc -I=./communication communication.proto --cpp_out=./communication
 protoc -I=./system system_setting.proto --cpp_out=./system

+ 1 - 0
system/PickupProcessTask.cpp

@@ -436,6 +436,7 @@ void PickupProcessTask::publish_step_status() {
      * 通过communicator 发布状态
      */
     if (Command_accepter::get_instance_pointer()) {
+        std::lock_guard<std::mutex>         lock(m_process_msg_lock);
         Command_accepter::get_instance_pointer()->post_process_statu(m_process_msg);
     }
 }

+ 29 - 41
system/system_setting.pb.cc

@@ -7,7 +7,6 @@
 
 #include <google/protobuf/stubs/common.h>
 #include <google/protobuf/stubs/port.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>
@@ -19,6 +18,7 @@
 #include "third_party/protobuf/version.h"
 #endif
 // @@protoc_insertion_point(includes)
+
 namespace setting {
 class System_settingDefaultTypeInternal {
  public:
@@ -27,14 +27,9 @@ class System_settingDefaultTypeInternal {
 } _System_setting_default_instance_;
 }  // namespace setting
 namespace protobuf_system_5fsetting_2eproto {
-void InitDefaultsSystem_settingImpl() {
+static void InitDefaultsSystem_setting() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
   {
     void* ptr = &::setting::_System_setting_default_instance_;
     new (ptr) ::setting::System_setting();
@@ -43,9 +38,11 @@ void InitDefaultsSystem_settingImpl() {
   ::setting::System_setting::InitAsDefaultInstance();
 }
 
-void InitDefaultsSystem_setting() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsSystem_settingImpl);
+::google::protobuf::internal::SCCInfo<0> scc_info_System_setting =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsSystem_setting}, {}};
+
+void InitDefaults() {
+  ::google::protobuf::internal::InitSCC(&scc_info_System_setting.base);
 }
 
 ::google::protobuf::Metadata file_level_metadata[1];
@@ -75,15 +72,14 @@ static ::google::protobuf::Message const * const file_default_instances[] = {
 
 void protobuf_AssignDescriptors() {
   AddDescriptors();
-  ::google::protobuf::MessageFactory* factory = NULL;
   AssignDescriptors(
-      "system_setting.proto", schemas, file_default_instances, TableStruct::offsets, factory,
+      "system_setting.proto", schemas, file_default_instances, TableStruct::offsets,
       file_level_metadata, NULL, NULL);
 }
 
 void protobuf_AssignDescriptorsOnce() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
+  static ::google::protobuf::internal::once_flag once;
+  ::google::protobuf::internal::call_once(once, protobuf_AssignDescriptors);
 }
 
 void protobuf_RegisterTypes(const ::std::string&) GOOGLE_PROTOBUF_ATTRIBUTE_COLD;
@@ -107,8 +103,8 @@ void AddDescriptorsImpl() {
 }
 
 void AddDescriptors() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
+  static ::google::protobuf::internal::once_flag once;
+  ::google::protobuf::internal::call_once(once, AddDescriptorsImpl);
 }
 // Force AddDescriptors() to be called at dynamic initialization time.
 struct StaticDescriptorInitializer {
@@ -132,17 +128,15 @@ const int System_setting::kExportNumFieldNumber;
 
 System_setting::System_setting()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_system_5fsetting_2eproto::InitDefaultsSystem_setting();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_system_5fsetting_2eproto::scc_info_System_setting.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:setting.System_setting)
 }
 System_setting::System_setting(const System_setting& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
+      _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   bind_ip_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (from.has_bind_ip()) {
@@ -155,7 +149,6 @@ System_setting::System_setting(const System_setting& from)
 }
 
 void System_setting::SharedCtor() {
-  _cached_size_ = 0;
   bind_ip_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   ::memset(&entrance_num_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&export_num_) -
@@ -173,9 +166,7 @@ void System_setting::SharedDtor() {
 }
 
 void System_setting::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  _cached_size_.Set(size);
 }
 const ::google::protobuf::Descriptor* System_setting::descriptor() {
   ::protobuf_system_5fsetting_2eproto::protobuf_AssignDescriptorsOnce();
@@ -183,17 +174,10 @@ const ::google::protobuf::Descriptor* System_setting::descriptor() {
 }
 
 const System_setting& System_setting::default_instance() {
-  ::protobuf_system_5fsetting_2eproto::InitDefaultsSystem_setting();
+  ::google::protobuf::internal::InitSCC(&protobuf_system_5fsetting_2eproto::scc_info_System_setting.base);
   return *internal_default_instance();
 }
 
-System_setting* System_setting::New(::google::protobuf::Arena* arena) const {
-  System_setting* n = new System_setting;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void System_setting::Clear() {
 // @@protoc_insertion_point(message_clear_start:setting.System_setting)
@@ -203,8 +187,7 @@ void System_setting::Clear() {
 
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 0x00000001u) {
-    GOOGLE_DCHECK(!bind_ip_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-    (*bind_ip_.UnsafeRawStringPointer())->clear();
+    bind_ip_.ClearNonDefaultToEmptyNoArena();
   }
   if (cached_has_bits & 14u) {
     ::memset(&entrance_num_, 0, static_cast<size_t>(
@@ -222,7 +205,7 @@ bool System_setting::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:setting.System_setting)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -448,9 +431,7 @@ size_t System_setting::ByteSizeLong() const {
   }
 
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  SetCachedSize(cached_size);
   return total_size;
 }
 
@@ -520,13 +501,13 @@ void System_setting::Swap(System_setting* other) {
 }
 void System_setting::InternalSwap(System_setting* other) {
   using std::swap;
-  bind_ip_.Swap(&other->bind_ip_);
+  bind_ip_.Swap(&other->bind_ip_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+    GetArenaNoVirtual());
   swap(entrance_num_, other->entrance_num_);
   swap(export_num_, other->export_num_);
   swap(bind_port_, other->bind_port_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata System_setting::GetMetadata() const {
@@ -537,5 +518,12 @@ void System_setting::InternalSwap(System_setting* other) {
 
 // @@protoc_insertion_point(namespace_scope)
 }  // namespace setting
+namespace google {
+namespace protobuf {
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::setting::System_setting* Arena::CreateMaybeMessage< ::setting::System_setting >(Arena* arena) {
+  return Arena::CreateInternal< ::setting::System_setting >(arena);
+}
+}  // namespace protobuf
+}  // namespace google
 
 // @@protoc_insertion_point(global_scope)

+ 36 - 27
system/system_setting.pb.h

@@ -1,19 +1,19 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: system_setting.proto
 
-#ifndef PROTOBUF_system_5fsetting_2eproto__INCLUDED
-#define PROTOBUF_system_5fsetting_2eproto__INCLUDED
+#ifndef PROTOBUF_INCLUDED_system_5fsetting_2eproto
+#define PROTOBUF_INCLUDED_system_5fsetting_2eproto
 
 #include <string>
 
 #include <google/protobuf/stubs/common.h>
 
-#if GOOGLE_PROTOBUF_VERSION < 3005000
+#if GOOGLE_PROTOBUF_VERSION < 3006001
 #error This file was generated by a newer version of protoc which is
 #error incompatible with your Protocol Buffer headers.  Please update
 #error your headers.
 #endif
-#if 3005000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
 #error This file was generated by an older version of protoc which is
 #error incompatible with your Protocol Buffer headers.  Please
 #error regenerate this file with a newer version of protoc.
@@ -24,12 +24,14 @@
 #include <google/protobuf/arenastring.h>
 #include <google/protobuf/generated_message_table_driven.h>
 #include <google/protobuf/generated_message_util.h>
+#include <google/protobuf/inlined_string_field.h>
 #include <google/protobuf/metadata.h>
 #include <google/protobuf/message.h>
 #include <google/protobuf/repeated_field.h>  // IWYU pragma: export
 #include <google/protobuf/extension_set.h>  // IWYU pragma: export
 #include <google/protobuf/unknown_field_set.h>
 // @@protoc_insertion_point(includes)
+#define PROTOBUF_INTERNAL_EXPORT_protobuf_system_5fsetting_2eproto 
 
 namespace protobuf_system_5fsetting_2eproto {
 // Internal implementation detail -- do not use these members.
@@ -42,17 +44,17 @@ struct TableStruct {
   static const ::google::protobuf::uint32 offsets[];
 };
 void AddDescriptors();
-void InitDefaultsSystem_settingImpl();
-void InitDefaultsSystem_setting();
-inline void InitDefaults() {
-  InitDefaultsSystem_setting();
-}
 }  // namespace protobuf_system_5fsetting_2eproto
 namespace setting {
 class System_setting;
 class System_settingDefaultTypeInternal;
 extern System_settingDefaultTypeInternal _System_setting_default_instance_;
 }  // namespace setting
+namespace google {
+namespace protobuf {
+template<> ::setting::System_setting* Arena::CreateMaybeMessage<::setting::System_setting>(Arena*);
+}  // namespace protobuf
+}  // namespace google
 namespace setting {
 
 // ===================================================================
@@ -98,7 +100,7 @@ class System_setting : public ::google::protobuf::Message /* @@protoc_insertion_
     return reinterpret_cast<const System_setting*>(
                &_System_setting_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     0;
 
   void Swap(System_setting* other);
@@ -108,28 +110,33 @@ class System_setting : public ::google::protobuf::Message /* @@protoc_insertion_
 
   // implements Message ----------------------------------------------
 
-  inline System_setting* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline System_setting* New() const final {
+    return CreateMaybeMessage<System_setting>(NULL);
+  }
 
-  System_setting* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  System_setting* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<System_setting>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const System_setting& from);
   void MergeFrom(const System_setting& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
+  void Clear() final;
+  bool IsInitialized() const final;
 
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  size_t ByteSizeLong() const final;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedInputStream* input) final;
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+      ::google::protobuf::io::CodedOutputStream* output) const final;
   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+      bool deterministic, ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void SetCachedSize(int size) const final;
   void InternalSwap(System_setting* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -140,7 +147,7 @@ class System_setting : public ::google::protobuf::Message /* @@protoc_insertion_
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -198,13 +205,12 @@ class System_setting : public ::google::protobuf::Message /* @@protoc_insertion_
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::google::protobuf::internal::ArenaStringPtr bind_ip_;
   ::google::protobuf::int32 entrance_num_;
   ::google::protobuf::int32 export_num_;
   ::google::protobuf::int32 bind_port_;
   friend struct ::protobuf_system_5fsetting_2eproto::TableStruct;
-  friend void ::protobuf_system_5fsetting_2eproto::InitDefaultsSystem_settingImpl();
 };
 // ===================================================================
 
@@ -267,8 +273,11 @@ inline ::std::string* System_setting::mutable_bind_ip() {
 }
 inline ::std::string* System_setting::release_bind_ip() {
   // @@protoc_insertion_point(field_release:setting.System_setting.bind_ip)
+  if (!has_bind_ip()) {
+    return NULL;
+  }
   clear_has_bind_ip();
-  return bind_ip_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  return bind_ip_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
 }
 inline void System_setting::set_allocated_bind_ip(::std::string* bind_ip) {
   if (bind_ip != NULL) {
@@ -362,4 +371,4 @@ inline void System_setting::set_export_num(::google::protobuf::int32 value) {
 
 // @@protoc_insertion_point(global_scope)
 
-#endif  // PROTOBUF_system_5fsetting_2eproto__INCLUDED
+#endif  // PROTOBUF_INCLUDED_system_5fsetting_2eproto

+ 2 - 2
test/terminal_client.cpp

@@ -86,8 +86,8 @@ int main() {
     threadsafe_queue<message::Car_info> input_queue;
     threadsafe_queue<message::Car_info> output_queue;
 
-    const int n_input=1;
-    const int n_output=1;
+    const int n_input=6;
+    const int n_output=6;
     std::vector<store_terminal*> input_terminals;
     std::vector<pickup_terminal*> output_terminals;
     for(int i=0;i<n_input;++i)

+ 1 - 0
tool/StdCondition.h

@@ -4,6 +4,7 @@
 #include <mutex>  
 #include <chrono>  
 #include <condition_variable>
+#include <functional>
 
 class StdCondition
 {

+ 1 - 1
tool/thread_condition.h

@@ -36,7 +36,7 @@
 #include <atomic>
 #include <mutex>
 #include <condition_variable>
-
+#include <functional>
 
 class Thread_condition
 {