yct пре 3 година
родитељ
комит
46f85d3c4f

+ 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

+ 2 - 2
dispatch/dispatch_ground_lidar.cpp

@@ -115,7 +115,7 @@ void Dispatch_ground_lidar::execute_thread_fun()
 
 					p_response_data->m_response_car_center_x = m_ground_status_msg.locate_information_realtime().locate_x();
 					p_response_data->m_response_car_center_y = m_ground_status_msg.locate_information_realtime().locate_y();
-					p_response_data->m_response_car_angle = m_ground_status_msg.locate_information_realtime().locate_angle()-90;
+					p_response_data->m_response_car_angle = m_ground_status_msg.locate_information_realtime().locate_angle()-90+0.5;
 					p_response_data->m_response_car_front_theta = m_ground_status_msg.locate_information_realtime().locate_front_theta();
 					p_response_data->m_response_car_length = m_ground_status_msg.locate_information_realtime().locate_length();
 					p_response_data->m_response_car_width = m_ground_status_msg.locate_information_realtime().locate_width();
@@ -138,7 +138,7 @@ void Dispatch_ground_lidar::execute_thread_fun()
 
 					p_response_data->m_response_car_center_x = m_ground_status_msg.locate_information_realtime().locate_x();
 					p_response_data->m_response_car_center_y = m_ground_status_msg.locate_information_realtime().locate_y();
-					p_response_data->m_response_car_angle = m_ground_status_msg.locate_information_realtime().locate_angle()-90;
+					p_response_data->m_response_car_angle = m_ground_status_msg.locate_information_realtime().locate_angle()-90+0.5;
 					p_response_data->m_response_car_front_theta = m_ground_status_msg.locate_information_realtime().locate_front_theta();
 					p_response_data->m_response_car_length = m_ground_status_msg.locate_information_realtime().locate_length();
 					p_response_data->m_response_car_width = m_ground_status_msg.locate_information_realtime().locate_width();

Разлика између датотеке није приказан због своје велике величине
+ 266 - 461
dispatch/dispatch_parameter.pb.cc


Разлика између датотеке није приказан због своје велике величине
+ 379 - 328
dispatch/dispatch_parameter.pb.h


+ 3 - 3
dispatch/dispatch_plc.cpp

@@ -254,7 +254,7 @@ Error_manager Dispatch_plc::encapsulate_dispatch_request_to_plc()
 	{
 		m_request_car_center_x = m_dispatch_request_msg.locate_information().locate_x();
 		m_request_car_center_y = m_dispatch_request_msg.locate_information().locate_y();
-		m_request_car_angle = m_dispatch_request_msg.locate_information().locate_angle()-90;//80~100改为-10~+10
+		m_request_car_angle = m_dispatch_request_msg.locate_information().locate_angle()-90+0.5;//80~100改为-10~+10
 		m_request_car_front_theta = m_dispatch_request_msg.locate_information().locate_front_theta();
 		m_request_car_length = m_dispatch_request_msg.locate_information().locate_length();
 		m_request_car_width = m_dispatch_request_msg.locate_information().locate_width();
@@ -266,7 +266,7 @@ Error_manager Dispatch_plc::encapsulate_dispatch_request_to_plc()
 	{
 		m_request_car_center_x = m_dispatch_request_msg.locate_information().locate_x();
 		m_request_car_center_y = m_dispatch_request_msg.locate_information().locate_y();
-		m_request_car_angle = m_dispatch_request_msg.locate_information().locate_angle()-90;//80~100改为-10~+10
+		m_request_car_angle = m_dispatch_request_msg.locate_information().locate_angle()-90+0.5;//80~100改为-10~+10
 		m_request_car_front_theta = m_dispatch_request_msg.locate_information().locate_front_theta();
 		m_request_car_length = m_dispatch_request_msg.locate_information().locate_length();
 		m_request_car_width = m_dispatch_request_msg.locate_information().locate_width();
@@ -457,7 +457,7 @@ Error_manager Dispatch_plc::check_response_from_plc()
 
 #ifndef WAIT_PLC_RESPONSE
 	//need, 调试代码, 延时10s, 直接返回成功
-	if ( std::chrono::system_clock::now() - m_start_time > std::chrono::seconds(10) )
+	if ( std::chrono::system_clock::now() - m_start_time > std::chrono::seconds(5) )
 	{
 		return Error_code::SUCCESS;
 	}

+ 1 - 1
error_code/error_code.h

@@ -5,7 +5,7 @@
 
 #define PLC_S7_COMMUNICATION 1	//是否开启plc的通信
 #define WAIT_PLC_RESPONSE 1		//是否等待plc的答复
-//#define MEASURE_TO_PLC_CORRECTION 1		//是否等待plc的答复
+//#define MEASURE_TO_PLC_CORRECTION 1		//修正感测数据
 
 
 //Error_code是错误码的底层通用模块,

+ 4 - 4
hulitest.sh

@@ -1,14 +1,14 @@
 #!/bin/bash
  
-
+/home/zx/huli/chutian_dispatch/build
 {
-gnome-terminal -x bash -c "cd /home/huli/huli/chutian_project/chutian_dispatch/chutian_dispatch/cmake-build-debug/&&./terminal 0; exec bash"
+gnome-terminal -x bash -c "cd /home/zx/huli/chutian_dispatch/build/&&./terminal 0; exec bash"
 }&
  
 {
-gnome-terminal -x bash -c "cd /home/huli/huli/chutian_project/chutian_dispatch/chutian_dispatch/cmake-build-debug/&&./terminal 1; exec bash"
+gnome-terminal -x bash -c "cd /home/zx/huli/chutian_dispatch/build/&&./terminal 1; exec bash"
 }&
 
 {
-gnome-terminal -x bash -c "cd /home/huli/huli/chutian_project/chutian_dispatch/chutian_dispatch/cmake-build-debug/&&./terminal 2; exec bash"
+gnome-terminal -x bash -c "cd /home/zx/huli/chutian_dispatch/build/&&./terminal 2; exec bash"
 }&

+ 120 - 182
message/dispatch_control.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_Error_manager;
+}  // namespace protobuf_message_5fbase_2eproto
 namespace message {
 class Dispatch_plan_request_msgDefaultTypeInternal {
  public:
@@ -42,16 +46,9 @@ class Dispatch_control_response_msgDefaultTypeInternal {
 } _Dispatch_control_response_msg_default_instance_;
 }  // namespace message
 namespace protobuf_dispatch_5fcontrol_2eproto {
-void InitDefaultsDispatch_plan_request_msgImpl() {
+static void InitDefaultsDispatch_plan_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::InitDefaultsError_manager();
   {
     void* ptr = &::message::_Dispatch_plan_request_msg_default_instance_;
     new (ptr) ::message::Dispatch_plan_request_msg();
@@ -60,21 +57,14 @@ void InitDefaultsDispatch_plan_request_msgImpl() {
   ::message::Dispatch_plan_request_msg::InitAsDefaultInstance();
 }
 
-void InitDefaultsDispatch_plan_request_msg() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsDispatch_plan_request_msgImpl);
-}
+::google::protobuf::internal::SCCInfo<2> scc_info_Dispatch_plan_request_msg =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsDispatch_plan_request_msg}, {
+      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,
+      &protobuf_message_5fbase_2eproto::scc_info_Error_manager.base,}};
 
-void InitDefaultsDispatch_plan_response_msgImpl() {
+static void InitDefaultsDispatch_plan_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_plan_response_msg_default_instance_;
     new (ptr) ::message::Dispatch_plan_response_msg();
@@ -83,21 +73,14 @@ void InitDefaultsDispatch_plan_response_msgImpl() {
   ::message::Dispatch_plan_response_msg::InitAsDefaultInstance();
 }
 
-void InitDefaultsDispatch_plan_response_msg() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsDispatch_plan_response_msgImpl);
-}
+::google::protobuf::internal::SCCInfo<2> scc_info_Dispatch_plan_response_msg =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsDispatch_plan_response_msg}, {
+      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,
+      &protobuf_message_5fbase_2eproto::scc_info_Error_manager.base,}};
 
-void InitDefaultsDispatch_control_request_msgImpl() {
+static void InitDefaultsDispatch_control_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::InitDefaultsError_manager();
   {
     void* ptr = &::message::_Dispatch_control_request_msg_default_instance_;
     new (ptr) ::message::Dispatch_control_request_msg();
@@ -106,21 +89,14 @@ void InitDefaultsDispatch_control_request_msgImpl() {
   ::message::Dispatch_control_request_msg::InitAsDefaultInstance();
 }
 
-void InitDefaultsDispatch_control_request_msg() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsDispatch_control_request_msgImpl);
-}
+::google::protobuf::internal::SCCInfo<2> scc_info_Dispatch_control_request_msg =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsDispatch_control_request_msg}, {
+      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,
+      &protobuf_message_5fbase_2eproto::scc_info_Error_manager.base,}};
 
-void InitDefaultsDispatch_control_response_msgImpl() {
+static void InitDefaultsDispatch_control_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_control_response_msg_default_instance_;
     new (ptr) ::message::Dispatch_control_response_msg();
@@ -129,9 +105,16 @@ void InitDefaultsDispatch_control_response_msgImpl() {
   ::message::Dispatch_control_response_msg::InitAsDefaultInstance();
 }
 
-void InitDefaultsDispatch_control_response_msg() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsDispatch_control_response_msgImpl);
+::google::protobuf::internal::SCCInfo<2> scc_info_Dispatch_control_response_msg =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsDispatch_control_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_Dispatch_plan_request_msg.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_Dispatch_plan_response_msg.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_Dispatch_control_request_msg.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_Dispatch_control_response_msg.base);
 }
 
 ::google::protobuf::Metadata file_level_metadata[4];
@@ -235,15 +218,14 @@ static ::google::protobuf::Message const * const file_default_instances[] = {
 
 void protobuf_AssignDescriptors() {
   AddDescriptors();
-  ::google::protobuf::MessageFactory* factory = NULL;
   AssignDescriptors(
-      "dispatch_control.proto", schemas, file_default_instances, TableStruct::offsets, factory,
+      "dispatch_control.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 +314,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 {
@@ -448,17 +430,15 @@ const int Dispatch_plan_request_msg::kErrorManagerFieldNumber;
 
 Dispatch_plan_request_msg::Dispatch_plan_request_msg()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_dispatch_5fcontrol_2eproto::InitDefaultsDispatch_plan_request_msg();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_dispatch_5fcontrol_2eproto::scc_info_Dispatch_plan_request_msg.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Dispatch_plan_request_msg)
 }
 Dispatch_plan_request_msg::Dispatch_plan_request_msg(const Dispatch_plan_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()) {
@@ -481,7 +461,6 @@ Dispatch_plan_request_msg::Dispatch_plan_request_msg(const Dispatch_plan_request
 }
 
 void Dispatch_plan_request_msg::SharedCtor() {
-  _cached_size_ = 0;
   command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   ::memset(&base_info_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&dispatch_destination_) -
@@ -500,9 +479,7 @@ void Dispatch_plan_request_msg::SharedDtor() {
 }
 
 void Dispatch_plan_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_plan_request_msg::descriptor() {
   ::protobuf_dispatch_5fcontrol_2eproto::protobuf_AssignDescriptorsOnce();
@@ -510,17 +487,10 @@ const ::google::protobuf::Descriptor* Dispatch_plan_request_msg::descriptor() {
 }
 
 const Dispatch_plan_request_msg& Dispatch_plan_request_msg::default_instance() {
-  ::protobuf_dispatch_5fcontrol_2eproto::InitDefaultsDispatch_plan_request_msg();
+  ::google::protobuf::internal::InitSCC(&protobuf_dispatch_5fcontrol_2eproto::scc_info_Dispatch_plan_request_msg.base);
   return *internal_default_instance();
 }
 
-Dispatch_plan_request_msg* Dispatch_plan_request_msg::New(::google::protobuf::Arena* arena) const {
-  Dispatch_plan_request_msg* n = new Dispatch_plan_request_msg;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Dispatch_plan_request_msg::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Dispatch_plan_request_msg)
@@ -531,8 +501,7 @@ void Dispatch_plan_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);
@@ -558,7 +527,7 @@ bool Dispatch_plan_request_msg::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Dispatch_plan_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)) {
@@ -680,7 +649,7 @@ void Dispatch_plan_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;
@@ -712,7 +681,7 @@ void Dispatch_plan_request_msg::SerializeWithCachedSizes(
   // optional .message.Error_manager error_manager = 6;
   if (cached_has_bits & 0x00000004u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      6, *this->error_manager_, output);
+      6, this->_internal_error_manager(), output);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -734,7 +703,7 @@ void Dispatch_plan_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;
@@ -768,7 +737,7 @@ void Dispatch_plan_request_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000004u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        6, *this->error_manager_, deterministic, target);
+        6, this->_internal_error_manager(), deterministic, target);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -794,7 +763,7 @@ size_t Dispatch_plan_request_msg::RequiredFieldsByteSizeFallback() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
   }
 
   return total_size;
@@ -817,7 +786,7 @@ size_t Dispatch_plan_request_msg::ByteSizeLong() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
 
   } else {
     total_size += RequiredFieldsByteSizeFallback();
@@ -827,7 +796,7 @@ size_t Dispatch_plan_request_msg::ByteSizeLong() const {
     if (has_error_manager()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSize(
-          *this->error_manager_);
+          *error_manager_);
     }
 
     // optional .message.Dispatch_task_type dispatch_task_type = 3;
@@ -852,9 +821,7 @@ size_t Dispatch_plan_request_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;
 }
 
@@ -936,7 +903,8 @@ void Dispatch_plan_request_msg::Swap(Dispatch_plan_request_msg* other) {
 }
 void Dispatch_plan_request_msg::InternalSwap(Dispatch_plan_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(error_manager_, other->error_manager_);
   swap(dispatch_task_type_, other->dispatch_task_type_);
@@ -944,7 +912,6 @@ void Dispatch_plan_request_msg::InternalSwap(Dispatch_plan_request_msg* other) {
   swap(dispatch_destination_, other->dispatch_destination_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Dispatch_plan_request_msg::GetMetadata() const {
@@ -980,17 +947,15 @@ const int Dispatch_plan_response_msg::kErrorManagerFieldNumber;
 
 Dispatch_plan_response_msg::Dispatch_plan_response_msg()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_dispatch_5fcontrol_2eproto::InitDefaultsDispatch_plan_response_msg();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_dispatch_5fcontrol_2eproto::scc_info_Dispatch_plan_response_msg.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Dispatch_plan_response_msg)
 }
 Dispatch_plan_response_msg::Dispatch_plan_response_msg(const Dispatch_plan_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()) {
@@ -1013,7 +978,6 @@ Dispatch_plan_response_msg::Dispatch_plan_response_msg(const Dispatch_plan_respo
 }
 
 void Dispatch_plan_response_msg::SharedCtor() {
-  _cached_size_ = 0;
   command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   ::memset(&base_info_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&dispatch_destination_) -
@@ -1032,9 +996,7 @@ void Dispatch_plan_response_msg::SharedDtor() {
 }
 
 void Dispatch_plan_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_plan_response_msg::descriptor() {
   ::protobuf_dispatch_5fcontrol_2eproto::protobuf_AssignDescriptorsOnce();
@@ -1042,17 +1004,10 @@ const ::google::protobuf::Descriptor* Dispatch_plan_response_msg::descriptor() {
 }
 
 const Dispatch_plan_response_msg& Dispatch_plan_response_msg::default_instance() {
-  ::protobuf_dispatch_5fcontrol_2eproto::InitDefaultsDispatch_plan_response_msg();
+  ::google::protobuf::internal::InitSCC(&protobuf_dispatch_5fcontrol_2eproto::scc_info_Dispatch_plan_response_msg.base);
   return *internal_default_instance();
 }
 
-Dispatch_plan_response_msg* Dispatch_plan_response_msg::New(::google::protobuf::Arena* arena) const {
-  Dispatch_plan_response_msg* n = new Dispatch_plan_response_msg;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Dispatch_plan_response_msg::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Dispatch_plan_response_msg)
@@ -1063,8 +1018,7 @@ void Dispatch_plan_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);
@@ -1090,7 +1044,7 @@ bool Dispatch_plan_response_msg::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Dispatch_plan_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)) {
@@ -1212,7 +1166,7 @@ void Dispatch_plan_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;
@@ -1244,7 +1198,7 @@ void Dispatch_plan_response_msg::SerializeWithCachedSizes(
   // optional .message.Error_manager error_manager = 6;
   if (cached_has_bits & 0x00000004u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      6, *this->error_manager_, output);
+      6, this->_internal_error_manager(), output);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -1266,7 +1220,7 @@ void Dispatch_plan_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;
@@ -1300,7 +1254,7 @@ void Dispatch_plan_response_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000004u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        6, *this->error_manager_, deterministic, target);
+        6, this->_internal_error_manager(), deterministic, target);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -1326,7 +1280,7 @@ size_t Dispatch_plan_response_msg::RequiredFieldsByteSizeFallback() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
   }
 
   return total_size;
@@ -1349,7 +1303,7 @@ size_t Dispatch_plan_response_msg::ByteSizeLong() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
 
   } else {
     total_size += RequiredFieldsByteSizeFallback();
@@ -1359,7 +1313,7 @@ size_t Dispatch_plan_response_msg::ByteSizeLong() const {
     if (has_error_manager()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSize(
-          *this->error_manager_);
+          *error_manager_);
     }
 
     // optional .message.Dispatch_task_type dispatch_task_type = 3;
@@ -1384,9 +1338,7 @@ size_t Dispatch_plan_response_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;
 }
 
@@ -1468,7 +1420,8 @@ void Dispatch_plan_response_msg::Swap(Dispatch_plan_response_msg* other) {
 }
 void Dispatch_plan_response_msg::InternalSwap(Dispatch_plan_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(dispatch_task_type_, other->dispatch_task_type_);
@@ -1476,7 +1429,6 @@ void Dispatch_plan_response_msg::InternalSwap(Dispatch_plan_response_msg* other)
   swap(dispatch_destination_, other->dispatch_destination_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Dispatch_plan_response_msg::GetMetadata() const {
@@ -1515,17 +1467,15 @@ const int Dispatch_control_request_msg::kDispatchDeviceTaskStatusFieldNumber;
 
 Dispatch_control_request_msg::Dispatch_control_request_msg()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_dispatch_5fcontrol_2eproto::InitDefaultsDispatch_control_request_msg();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_dispatch_5fcontrol_2eproto::scc_info_Dispatch_control_request_msg.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Dispatch_control_request_msg)
 }
 Dispatch_control_request_msg::Dispatch_control_request_msg(const Dispatch_control_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()) {
@@ -1548,7 +1498,6 @@ Dispatch_control_request_msg::Dispatch_control_request_msg(const Dispatch_contro
 }
 
 void Dispatch_control_request_msg::SharedCtor() {
-  _cached_size_ = 0;
   command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   ::memset(&base_info_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&dispatch_device_task_status_) -
@@ -1568,9 +1517,7 @@ void Dispatch_control_request_msg::SharedDtor() {
 }
 
 void Dispatch_control_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_control_request_msg::descriptor() {
   ::protobuf_dispatch_5fcontrol_2eproto::protobuf_AssignDescriptorsOnce();
@@ -1578,17 +1525,10 @@ const ::google::protobuf::Descriptor* Dispatch_control_request_msg::descriptor()
 }
 
 const Dispatch_control_request_msg& Dispatch_control_request_msg::default_instance() {
-  ::protobuf_dispatch_5fcontrol_2eproto::InitDefaultsDispatch_control_request_msg();
+  ::google::protobuf::internal::InitSCC(&protobuf_dispatch_5fcontrol_2eproto::scc_info_Dispatch_control_request_msg.base);
   return *internal_default_instance();
 }
 
-Dispatch_control_request_msg* Dispatch_control_request_msg::New(::google::protobuf::Arena* arena) const {
-  Dispatch_control_request_msg* n = new Dispatch_control_request_msg;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Dispatch_control_request_msg::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Dispatch_control_request_msg)
@@ -1599,8 +1539,7 @@ void Dispatch_control_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);
@@ -1627,7 +1566,7 @@ bool Dispatch_control_request_msg::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Dispatch_control_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)) {
@@ -1809,7 +1748,7 @@ void Dispatch_control_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;
@@ -1847,7 +1786,7 @@ void Dispatch_control_request_msg::SerializeWithCachedSizes(
   // optional .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);
   }
 
   // optional .message.Dispatch_device_target_status dispatch_device_target_status = 8;
@@ -1881,7 +1820,7 @@ void Dispatch_control_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;
@@ -1921,7 +1860,7 @@ void Dispatch_control_request_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000004u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        7, *this->error_manager_, deterministic, target);
+        7, this->_internal_error_manager(), deterministic, target);
   }
 
   // optional .message.Dispatch_device_target_status dispatch_device_target_status = 8;
@@ -1959,7 +1898,7 @@ size_t Dispatch_control_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_task_type()) {
@@ -1988,7 +1927,7 @@ size_t Dispatch_control_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_task_type dispatch_task_type = 3;
     total_size += 1 +
@@ -2001,7 +1940,7 @@ size_t Dispatch_control_request_msg::ByteSizeLong() const {
   if (has_error_manager()) {
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->error_manager_);
+        *error_manager_);
   }
 
   if (_has_bits_[0 / 32] & 240u) {
@@ -2039,9 +1978,7 @@ size_t Dispatch_control_request_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;
 }
 
@@ -2132,7 +2069,8 @@ void Dispatch_control_request_msg::Swap(Dispatch_control_request_msg* other) {
 }
 void Dispatch_control_request_msg::InternalSwap(Dispatch_control_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(error_manager_, other->error_manager_);
   swap(dispatch_task_type_, other->dispatch_task_type_);
@@ -2143,7 +2081,6 @@ void Dispatch_control_request_msg::InternalSwap(Dispatch_control_request_msg* ot
   swap(dispatch_device_type_, other->dispatch_device_type_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Dispatch_control_request_msg::GetMetadata() const {
@@ -2182,17 +2119,15 @@ const int Dispatch_control_response_msg::kDispatchDeviceTaskStatusFieldNumber;
 
 Dispatch_control_response_msg::Dispatch_control_response_msg()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_dispatch_5fcontrol_2eproto::InitDefaultsDispatch_control_response_msg();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_dispatch_5fcontrol_2eproto::scc_info_Dispatch_control_response_msg.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:message.Dispatch_control_response_msg)
 }
 Dispatch_control_response_msg::Dispatch_control_response_msg(const Dispatch_control_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()) {
@@ -2215,7 +2150,6 @@ Dispatch_control_response_msg::Dispatch_control_response_msg(const Dispatch_cont
 }
 
 void Dispatch_control_response_msg::SharedCtor() {
-  _cached_size_ = 0;
   command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   ::memset(&base_info_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&dispatch_device_task_status_) -
@@ -2235,9 +2169,7 @@ void Dispatch_control_response_msg::SharedDtor() {
 }
 
 void Dispatch_control_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_control_response_msg::descriptor() {
   ::protobuf_dispatch_5fcontrol_2eproto::protobuf_AssignDescriptorsOnce();
@@ -2245,17 +2177,10 @@ const ::google::protobuf::Descriptor* Dispatch_control_response_msg::descriptor(
 }
 
 const Dispatch_control_response_msg& Dispatch_control_response_msg::default_instance() {
-  ::protobuf_dispatch_5fcontrol_2eproto::InitDefaultsDispatch_control_response_msg();
+  ::google::protobuf::internal::InitSCC(&protobuf_dispatch_5fcontrol_2eproto::scc_info_Dispatch_control_response_msg.base);
   return *internal_default_instance();
 }
 
-Dispatch_control_response_msg* Dispatch_control_response_msg::New(::google::protobuf::Arena* arena) const {
-  Dispatch_control_response_msg* n = new Dispatch_control_response_msg;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Dispatch_control_response_msg::Clear() {
 // @@protoc_insertion_point(message_clear_start:message.Dispatch_control_response_msg)
@@ -2266,8 +2191,7 @@ void Dispatch_control_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);
@@ -2294,7 +2218,7 @@ bool Dispatch_control_response_msg::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:message.Dispatch_control_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)) {
@@ -2476,7 +2400,7 @@ void Dispatch_control_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;
@@ -2514,7 +2438,7 @@ void Dispatch_control_response_msg::SerializeWithCachedSizes(
   // optional .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);
   }
 
   // optional .message.Dispatch_device_target_status dispatch_device_target_status = 8;
@@ -2548,7 +2472,7 @@ void Dispatch_control_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;
@@ -2588,7 +2512,7 @@ void Dispatch_control_response_msg::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000004u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        7, *this->error_manager_, deterministic, target);
+        7, this->_internal_error_manager(), deterministic, target);
   }
 
   // optional .message.Dispatch_device_target_status dispatch_device_target_status = 8;
@@ -2626,7 +2550,7 @@ size_t Dispatch_control_response_msg::RequiredFieldsByteSizeFallback() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
   }
 
   return total_size;
@@ -2649,7 +2573,7 @@ size_t Dispatch_control_response_msg::ByteSizeLong() const {
     // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->base_info_);
+        *base_info_);
 
   } else {
     total_size += RequiredFieldsByteSizeFallback();
@@ -2659,7 +2583,7 @@ size_t Dispatch_control_response_msg::ByteSizeLong() const {
     if (has_error_manager()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSize(
-          *this->error_manager_);
+          *error_manager_);
     }
 
     // optional .message.Dispatch_task_type dispatch_task_type = 3;
@@ -2702,9 +2626,7 @@ size_t Dispatch_control_response_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;
 }
 
@@ -2795,7 +2717,8 @@ void Dispatch_control_response_msg::Swap(Dispatch_control_response_msg* other) {
 }
 void Dispatch_control_response_msg::InternalSwap(Dispatch_control_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(dispatch_task_type_, other->dispatch_task_type_);
@@ -2806,7 +2729,6 @@ void Dispatch_control_response_msg::InternalSwap(Dispatch_control_response_msg*
   swap(dispatch_device_type_, other->dispatch_device_type_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Dispatch_control_response_msg::GetMetadata() const {
@@ -2817,5 +2739,21 @@ void Dispatch_control_response_msg::InternalSwap(Dispatch_control_response_msg*
 
 // @@protoc_insertion_point(namespace_scope)
 }  // namespace message
+namespace google {
+namespace protobuf {
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Dispatch_plan_request_msg* Arena::CreateMaybeMessage< ::message::Dispatch_plan_request_msg >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Dispatch_plan_request_msg >(arena);
+}
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Dispatch_plan_response_msg* Arena::CreateMaybeMessage< ::message::Dispatch_plan_response_msg >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Dispatch_plan_response_msg >(arena);
+}
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Dispatch_control_request_msg* Arena::CreateMaybeMessage< ::message::Dispatch_control_request_msg >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Dispatch_control_request_msg >(arena);
+}
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Dispatch_control_response_msg* Arena::CreateMaybeMessage< ::message::Dispatch_control_response_msg >(Arena* arena) {
+  return Arena::CreateInternal< ::message::Dispatch_control_response_msg >(arena);
+}
+}  // namespace protobuf
+}  // namespace google
 
 // @@protoc_insertion_point(global_scope)

+ 178 - 98
message/dispatch_control.pb.h

@@ -1,19 +1,19 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: dispatch_control.proto
 
-#ifndef PROTOBUF_dispatch_5fcontrol_2eproto__INCLUDED
-#define PROTOBUF_dispatch_5fcontrol_2eproto__INCLUDED
+#ifndef PROTOBUF_INCLUDED_dispatch_5fcontrol_2eproto
+#define PROTOBUF_INCLUDED_dispatch_5fcontrol_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_5fcontrol_2eproto 
 
 namespace protobuf_dispatch_5fcontrol_2eproto {
 // Internal implementation detail -- do not use these members.
@@ -44,20 +46,6 @@ struct TableStruct {
   static const ::google::protobuf::uint32 offsets[];
 };
 void AddDescriptors();
-void InitDefaultsDispatch_plan_request_msgImpl();
-void InitDefaultsDispatch_plan_request_msg();
-void InitDefaultsDispatch_plan_response_msgImpl();
-void InitDefaultsDispatch_plan_response_msg();
-void InitDefaultsDispatch_control_request_msgImpl();
-void InitDefaultsDispatch_control_request_msg();
-void InitDefaultsDispatch_control_response_msgImpl();
-void InitDefaultsDispatch_control_response_msg();
-inline void InitDefaults() {
-  InitDefaultsDispatch_plan_request_msg();
-  InitDefaultsDispatch_plan_response_msg();
-  InitDefaultsDispatch_control_request_msg();
-  InitDefaultsDispatch_control_response_msg();
-}
 }  // namespace protobuf_dispatch_5fcontrol_2eproto
 namespace message {
 class Dispatch_control_request_msg;
@@ -73,6 +61,14 @@ class Dispatch_plan_response_msg;
 class Dispatch_plan_response_msgDefaultTypeInternal;
 extern Dispatch_plan_response_msgDefaultTypeInternal _Dispatch_plan_response_msg_default_instance_;
 }  // namespace message
+namespace google {
+namespace protobuf {
+template<> ::message::Dispatch_control_request_msg* Arena::CreateMaybeMessage<::message::Dispatch_control_request_msg>(Arena*);
+template<> ::message::Dispatch_control_response_msg* Arena::CreateMaybeMessage<::message::Dispatch_control_response_msg>(Arena*);
+template<> ::message::Dispatch_plan_request_msg* Arena::CreateMaybeMessage<::message::Dispatch_plan_request_msg>(Arena*);
+template<> ::message::Dispatch_plan_response_msg* Arena::CreateMaybeMessage<::message::Dispatch_plan_response_msg>(Arena*);
+}  // namespace protobuf
+}  // namespace google
 namespace message {
 
 enum Dispatch_task_type {
@@ -210,7 +206,7 @@ class Dispatch_plan_request_msg : public ::google::protobuf::Message /* @@protoc
     return reinterpret_cast<const Dispatch_plan_request_msg*>(
                &_Dispatch_plan_request_msg_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     0;
 
   void Swap(Dispatch_plan_request_msg* other);
@@ -220,28 +216,33 @@ class Dispatch_plan_request_msg : public ::google::protobuf::Message /* @@protoc
 
   // implements Message ----------------------------------------------
 
-  inline Dispatch_plan_request_msg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Dispatch_plan_request_msg* New() const final {
+    return CreateMaybeMessage<Dispatch_plan_request_msg>(NULL);
+  }
 
-  Dispatch_plan_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_plan_request_msg* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Dispatch_plan_request_msg>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Dispatch_plan_request_msg& from);
   void MergeFrom(const Dispatch_plan_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_plan_request_msg* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -252,7 +253,7 @@ class Dispatch_plan_request_msg : public ::google::protobuf::Message /* @@protoc
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -277,6 +278,9 @@ class Dispatch_plan_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();
@@ -286,6 +290,9 @@ class Dispatch_plan_request_msg : public ::google::protobuf::Message /* @@protoc
   bool has_error_manager() const;
   void clear_error_manager();
   static const int kErrorManagerFieldNumber = 6;
+  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();
@@ -332,7 +339,7 @@ class Dispatch_plan_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_;
   ::google::protobuf::internal::ArenaStringPtr command_key_;
   ::message::Base_info* base_info_;
   ::message::Error_manager* error_manager_;
@@ -340,7 +347,6 @@ class Dispatch_plan_request_msg : public ::google::protobuf::Message /* @@protoc
   ::google::protobuf::int32 dispatch_source_;
   ::google::protobuf::int32 dispatch_destination_;
   friend struct ::protobuf_dispatch_5fcontrol_2eproto::TableStruct;
-  friend void ::protobuf_dispatch_5fcontrol_2eproto::InitDefaultsDispatch_plan_request_msgImpl();
 };
 // -------------------------------------------------------------------
 
@@ -385,7 +391,7 @@ class Dispatch_plan_response_msg : public ::google::protobuf::Message /* @@proto
     return reinterpret_cast<const Dispatch_plan_response_msg*>(
                &_Dispatch_plan_response_msg_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     1;
 
   void Swap(Dispatch_plan_response_msg* other);
@@ -395,28 +401,33 @@ class Dispatch_plan_response_msg : public ::google::protobuf::Message /* @@proto
 
   // implements Message ----------------------------------------------
 
-  inline Dispatch_plan_response_msg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Dispatch_plan_response_msg* New() const final {
+    return CreateMaybeMessage<Dispatch_plan_response_msg>(NULL);
+  }
 
-  Dispatch_plan_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_plan_response_msg* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Dispatch_plan_response_msg>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Dispatch_plan_response_msg& from);
   void MergeFrom(const Dispatch_plan_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_plan_response_msg* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -427,7 +438,7 @@ class Dispatch_plan_response_msg : public ::google::protobuf::Message /* @@proto
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -452,6 +463,9 @@ class Dispatch_plan_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();
@@ -461,6 +475,9 @@ class Dispatch_plan_response_msg : public ::google::protobuf::Message /* @@proto
   bool has_error_manager() const;
   void clear_error_manager();
   static const int kErrorManagerFieldNumber = 6;
+  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();
@@ -507,7 +524,7 @@ class Dispatch_plan_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_;
   ::google::protobuf::internal::ArenaStringPtr command_key_;
   ::message::Base_info* base_info_;
   ::message::Error_manager* error_manager_;
@@ -515,7 +532,6 @@ class Dispatch_plan_response_msg : public ::google::protobuf::Message /* @@proto
   ::google::protobuf::int32 dispatch_source_;
   ::google::protobuf::int32 dispatch_destination_;
   friend struct ::protobuf_dispatch_5fcontrol_2eproto::TableStruct;
-  friend void ::protobuf_dispatch_5fcontrol_2eproto::InitDefaultsDispatch_plan_response_msgImpl();
 };
 // -------------------------------------------------------------------
 
@@ -560,7 +576,7 @@ class Dispatch_control_request_msg : public ::google::protobuf::Message /* @@pro
     return reinterpret_cast<const Dispatch_control_request_msg*>(
                &_Dispatch_control_request_msg_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     2;
 
   void Swap(Dispatch_control_request_msg* other);
@@ -570,28 +586,33 @@ class Dispatch_control_request_msg : public ::google::protobuf::Message /* @@pro
 
   // implements Message ----------------------------------------------
 
-  inline Dispatch_control_request_msg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Dispatch_control_request_msg* New() const final {
+    return CreateMaybeMessage<Dispatch_control_request_msg>(NULL);
+  }
 
-  Dispatch_control_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_control_request_msg* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Dispatch_control_request_msg>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Dispatch_control_request_msg& from);
   void MergeFrom(const Dispatch_control_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_control_request_msg* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -602,7 +623,7 @@ class Dispatch_control_request_msg : public ::google::protobuf::Message /* @@pro
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -627,6 +648,9 @@ class Dispatch_control_request_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();
@@ -636,6 +660,9 @@ class Dispatch_control_request_msg : public ::google::protobuf::Message /* @@pro
   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();
@@ -709,7 +736,7 @@ class Dispatch_control_request_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 command_key_;
   ::message::Base_info* base_info_;
   ::message::Error_manager* error_manager_;
@@ -720,7 +747,6 @@ class Dispatch_control_request_msg : public ::google::protobuf::Message /* @@pro
   int dispatch_device_task_status_;
   int dispatch_device_type_;
   friend struct ::protobuf_dispatch_5fcontrol_2eproto::TableStruct;
-  friend void ::protobuf_dispatch_5fcontrol_2eproto::InitDefaultsDispatch_control_request_msgImpl();
 };
 // -------------------------------------------------------------------
 
@@ -765,7 +791,7 @@ class Dispatch_control_response_msg : public ::google::protobuf::Message /* @@pr
     return reinterpret_cast<const Dispatch_control_response_msg*>(
                &_Dispatch_control_response_msg_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     3;
 
   void Swap(Dispatch_control_response_msg* other);
@@ -775,28 +801,33 @@ class Dispatch_control_response_msg : public ::google::protobuf::Message /* @@pr
 
   // implements Message ----------------------------------------------
 
-  inline Dispatch_control_response_msg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Dispatch_control_response_msg* New() const final {
+    return CreateMaybeMessage<Dispatch_control_response_msg>(NULL);
+  }
 
-  Dispatch_control_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_control_response_msg* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Dispatch_control_response_msg>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Dispatch_control_response_msg& from);
   void MergeFrom(const Dispatch_control_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_control_response_msg* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -807,7 +838,7 @@ class Dispatch_control_response_msg : public ::google::protobuf::Message /* @@pr
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -832,6 +863,9 @@ class Dispatch_control_response_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();
@@ -841,6 +875,9 @@ class Dispatch_control_response_msg : public ::google::protobuf::Message /* @@pr
   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();
@@ -914,7 +951,7 @@ class Dispatch_control_response_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_;
   ::google::protobuf::internal::ArenaStringPtr command_key_;
   ::message::Base_info* base_info_;
   ::message::Error_manager* error_manager_;
@@ -925,7 +962,6 @@ class Dispatch_control_response_msg : public ::google::protobuf::Message /* @@pr
   int dispatch_device_task_status_;
   int dispatch_device_type_;
   friend struct ::protobuf_dispatch_5fcontrol_2eproto::TableStruct;
-  friend void ::protobuf_dispatch_5fcontrol_2eproto::InitDefaultsDispatch_control_response_msgImpl();
 };
 // ===================================================================
 
@@ -948,6 +984,9 @@ inline void Dispatch_plan_request_msg::set_has_base_info() {
 inline void Dispatch_plan_request_msg::clear_has_base_info() {
   _has_bits_[0] &= ~0x00000002u;
 }
+inline const ::message::Base_info& Dispatch_plan_request_msg::_internal_base_info() const {
+  return *base_info_;
+}
 inline const ::message::Base_info& Dispatch_plan_request_msg::base_info() const {
   const ::message::Base_info* p = base_info_;
   // @@protoc_insertion_point(field_get:message.Dispatch_plan_request_msg.base_info)
@@ -964,7 +1003,8 @@ inline ::message::Base_info* Dispatch_plan_request_msg::release_base_info() {
 inline ::message::Base_info* Dispatch_plan_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_plan_request_msg.base_info)
   return base_info_;
@@ -1038,8 +1078,11 @@ inline ::std::string* Dispatch_plan_request_msg::mutable_command_key() {
 }
 inline ::std::string* Dispatch_plan_request_msg::release_command_key() {
   // @@protoc_insertion_point(field_release:message.Dispatch_plan_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_plan_request_msg::set_allocated_command_key(::std::string* command_key) {
   if (command_key != NULL) {
@@ -1134,6 +1177,9 @@ inline void Dispatch_plan_request_msg::set_has_error_manager() {
 inline void Dispatch_plan_request_msg::clear_has_error_manager() {
   _has_bits_[0] &= ~0x00000004u;
 }
+inline const ::message::Error_manager& Dispatch_plan_request_msg::_internal_error_manager() const {
+  return *error_manager_;
+}
 inline const ::message::Error_manager& Dispatch_plan_request_msg::error_manager() const {
   const ::message::Error_manager* p = error_manager_;
   // @@protoc_insertion_point(field_get:message.Dispatch_plan_request_msg.error_manager)
@@ -1150,7 +1196,8 @@ inline ::message::Error_manager* Dispatch_plan_request_msg::release_error_manage
 inline ::message::Error_manager* Dispatch_plan_request_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_plan_request_msg.error_manager)
   return error_manager_;
@@ -1188,6 +1235,9 @@ inline void Dispatch_plan_response_msg::set_has_base_info() {
 inline void Dispatch_plan_response_msg::clear_has_base_info() {
   _has_bits_[0] &= ~0x00000002u;
 }
+inline const ::message::Base_info& Dispatch_plan_response_msg::_internal_base_info() const {
+  return *base_info_;
+}
 inline const ::message::Base_info& Dispatch_plan_response_msg::base_info() const {
   const ::message::Base_info* p = base_info_;
   // @@protoc_insertion_point(field_get:message.Dispatch_plan_response_msg.base_info)
@@ -1204,7 +1254,8 @@ inline ::message::Base_info* Dispatch_plan_response_msg::release_base_info() {
 inline ::message::Base_info* Dispatch_plan_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_plan_response_msg.base_info)
   return base_info_;
@@ -1278,8 +1329,11 @@ inline ::std::string* Dispatch_plan_response_msg::mutable_command_key() {
 }
 inline ::std::string* Dispatch_plan_response_msg::release_command_key() {
   // @@protoc_insertion_point(field_release:message.Dispatch_plan_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_plan_response_msg::set_allocated_command_key(::std::string* command_key) {
   if (command_key != NULL) {
@@ -1374,6 +1428,9 @@ inline void Dispatch_plan_response_msg::set_has_error_manager() {
 inline void Dispatch_plan_response_msg::clear_has_error_manager() {
   _has_bits_[0] &= ~0x00000004u;
 }
+inline const ::message::Error_manager& Dispatch_plan_response_msg::_internal_error_manager() const {
+  return *error_manager_;
+}
 inline const ::message::Error_manager& Dispatch_plan_response_msg::error_manager() const {
   const ::message::Error_manager* p = error_manager_;
   // @@protoc_insertion_point(field_get:message.Dispatch_plan_response_msg.error_manager)
@@ -1390,7 +1447,8 @@ inline ::message::Error_manager* Dispatch_plan_response_msg::release_error_manag
 inline ::message::Error_manager* Dispatch_plan_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_plan_response_msg.error_manager)
   return error_manager_;
@@ -1428,6 +1486,9 @@ inline void Dispatch_control_request_msg::set_has_base_info() {
 inline void Dispatch_control_request_msg::clear_has_base_info() {
   _has_bits_[0] &= ~0x00000002u;
 }
+inline const ::message::Base_info& Dispatch_control_request_msg::_internal_base_info() const {
+  return *base_info_;
+}
 inline const ::message::Base_info& Dispatch_control_request_msg::base_info() const {
   const ::message::Base_info* p = base_info_;
   // @@protoc_insertion_point(field_get:message.Dispatch_control_request_msg.base_info)
@@ -1444,7 +1505,8 @@ inline ::message::Base_info* Dispatch_control_request_msg::release_base_info() {
 inline ::message::Base_info* Dispatch_control_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_control_request_msg.base_info)
   return base_info_;
@@ -1518,8 +1580,11 @@ inline ::std::string* Dispatch_control_request_msg::mutable_command_key() {
 }
 inline ::std::string* Dispatch_control_request_msg::release_command_key() {
   // @@protoc_insertion_point(field_release:message.Dispatch_control_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_control_request_msg::set_allocated_command_key(::std::string* command_key) {
   if (command_key != NULL) {
@@ -1639,6 +1704,9 @@ inline void Dispatch_control_request_msg::set_has_error_manager() {
 inline void Dispatch_control_request_msg::clear_has_error_manager() {
   _has_bits_[0] &= ~0x00000004u;
 }
+inline const ::message::Error_manager& Dispatch_control_request_msg::_internal_error_manager() const {
+  return *error_manager_;
+}
 inline const ::message::Error_manager& Dispatch_control_request_msg::error_manager() const {
   const ::message::Error_manager* p = error_manager_;
   // @@protoc_insertion_point(field_get:message.Dispatch_control_request_msg.error_manager)
@@ -1655,7 +1723,8 @@ inline ::message::Error_manager* Dispatch_control_request_msg::release_error_man
 inline ::message::Error_manager* Dispatch_control_request_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_control_request_msg.error_manager)
   return error_manager_;
@@ -1743,6 +1812,9 @@ inline void Dispatch_control_response_msg::set_has_base_info() {
 inline void Dispatch_control_response_msg::clear_has_base_info() {
   _has_bits_[0] &= ~0x00000002u;
 }
+inline const ::message::Base_info& Dispatch_control_response_msg::_internal_base_info() const {
+  return *base_info_;
+}
 inline const ::message::Base_info& Dispatch_control_response_msg::base_info() const {
   const ::message::Base_info* p = base_info_;
   // @@protoc_insertion_point(field_get:message.Dispatch_control_response_msg.base_info)
@@ -1759,7 +1831,8 @@ inline ::message::Base_info* Dispatch_control_response_msg::release_base_info()
 inline ::message::Base_info* Dispatch_control_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_control_response_msg.base_info)
   return base_info_;
@@ -1833,8 +1906,11 @@ inline ::std::string* Dispatch_control_response_msg::mutable_command_key() {
 }
 inline ::std::string* Dispatch_control_response_msg::release_command_key() {
   // @@protoc_insertion_point(field_release:message.Dispatch_control_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_control_response_msg::set_allocated_command_key(::std::string* command_key) {
   if (command_key != NULL) {
@@ -1954,6 +2030,9 @@ inline void Dispatch_control_response_msg::set_has_error_manager() {
 inline void Dispatch_control_response_msg::clear_has_error_manager() {
   _has_bits_[0] &= ~0x00000004u;
 }
+inline const ::message::Error_manager& Dispatch_control_response_msg::_internal_error_manager() const {
+  return *error_manager_;
+}
 inline const ::message::Error_manager& Dispatch_control_response_msg::error_manager() const {
   const ::message::Error_manager* p = error_manager_;
   // @@protoc_insertion_point(field_get:message.Dispatch_control_response_msg.error_manager)
@@ -1970,7 +2049,8 @@ inline ::message::Error_manager* Dispatch_control_response_msg::release_error_ma
 inline ::message::Error_manager* Dispatch_control_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_control_response_msg.error_manager)
   return error_manager_;
@@ -2061,17 +2141,17 @@ inline void Dispatch_control_response_msg::set_dispatch_device_task_status(::mes
 namespace google {
 namespace protobuf {
 
-template <> struct is_proto_enum< ::message::Dispatch_task_type> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Dispatch_task_type> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Dispatch_task_type>() {
   return ::message::Dispatch_task_type_descriptor();
 }
-template <> struct is_proto_enum< ::message::Dispatch_device_target_status> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Dispatch_device_target_status> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Dispatch_device_target_status>() {
   return ::message::Dispatch_device_target_status_descriptor();
 }
-template <> struct is_proto_enum< ::message::Dispatch_device_task_status> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Dispatch_device_task_status> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Dispatch_device_task_status>() {
   return ::message::Dispatch_device_task_status_descriptor();
@@ -2082,4 +2162,4 @@ inline const EnumDescriptor* GetEnumDescriptor< ::message::Dispatch_device_task_
 
 // @@protoc_insertion_point(global_scope)
 
-#endif  // PROTOBUF_dispatch_5fcontrol_2eproto__INCLUDED
+#endif  // PROTOBUF_INCLUDED_dispatch_5fcontrol_2eproto

Разлика између датотеке није приказан због своје велике величине
+ 232 - 344
message/dispatch_message.pb.cc


Разлика између датотеке није приказан због своје велике величине
+ 344 - 242
message/dispatch_message.pb.h


Разлика између датотеке није приказан због своје велике величине
+ 390 - 506
message/measure_message.pb.cc


Разлика између датотеке није приказан због своје велике величине
+ 452 - 267
message/measure_message.pb.h


+ 5 - 6
message/measure_message.proto

@@ -129,10 +129,7 @@ enum Ground_statu
     Nothing=0;
     Noise=1;
     Car_correct=2;
-    Car_left_out=3;
-    Car_right_out=4;
-    Car_top_out=5;
-    Car_bottom_out=6;
+    Car_border_reached=3;
 }
 
 message Ground_status_msg
@@ -145,12 +142,14 @@ message Ground_status_msg
     required Region_worker_status       region_worker_status = 5;       //万集区域功能的状态
     required Locate_information         locate_information_realtime = 6;//地面雷达的 实时定位信息
     required Ground_statu               ground_status=7; // 电子围栏状态
+    required int32               	border_status=8; // 超界状态,为0表示正常,从末尾开始123456位分别代表前、后、左、右、底盘、车高超界
 
-    required Error_manager              error_manager = 8;
-    repeated Cloud_coordinate           cloud=9;     //点云坐标
+    required Error_manager              error_manager = 9;
+    repeated Cloud_coordinate           cloud=10;     //点云坐标
 }
 
 
+
 //点云坐标
 message Cloud_coordinate
 {

+ 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];
@@ -321,15 +292,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;
@@ -460,8 +430,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 {
@@ -742,17 +712,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_) -
@@ -761,7 +729,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_));
@@ -776,9 +743,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();
@@ -786,17 +751,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)
@@ -820,7 +778,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)) {
@@ -1051,9 +1009,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;
 }
 
@@ -1128,7 +1084,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 {
@@ -1149,17 +1104,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_);
@@ -1170,7 +1123,6 @@ Base_msg::Base_msg(const Base_msg& from)
 }
 
 void Base_msg::SharedCtor() {
-  _cached_size_ = 0;
   base_info_ = NULL;
 }
 
@@ -1184,9 +1136,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();
@@ -1194,17 +1144,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)
@@ -1227,7 +1170,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)) {
@@ -1273,7 +1216,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()) {
@@ -1295,7 +1238,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()) {
@@ -1319,12 +1262,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;
 }
 
@@ -1386,7 +1327,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 {
@@ -1407,17 +1347,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()) {
@@ -1430,7 +1368,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_) -
@@ -1447,9 +1384,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();
@@ -1457,17 +1392,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)
@@ -1477,8 +1405,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>(
@@ -1495,7 +1422,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)) {
@@ -1671,9 +1598,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;
 }
 
@@ -1740,12 +1665,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 {
@@ -1775,17 +1700,15 @@ const int Locate_information::kUniformedCarYFieldNumber;
 
 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*>(&uniformed_car_y_) -
@@ -1794,7 +1717,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*>(&uniformed_car_y_) -
       reinterpret_cast<char*>(&locate_x_)) + sizeof(uniformed_car_y_));
@@ -1809,9 +1731,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();
@@ -1819,17 +1739,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)
@@ -1858,7 +1771,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)) {
@@ -2274,9 +2187,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;
 }
 
@@ -2385,7 +2296,6 @@ void Locate_information::InternalSwap(Locate_information* other) {
   swap(uniformed_car_y_, other->uniformed_car_y_);
   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 {
@@ -2409,17 +2319,15 @@ const int Car_info::kCarWheelWidthFieldNumber;
 
 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()) {
@@ -2432,7 +2340,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_wheel_width_) -
@@ -2449,9 +2356,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();
@@ -2459,17 +2364,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)
@@ -2479,8 +2377,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 & 62u) {
     ::memset(&car_length_, 0, static_cast<size_t>(
@@ -2497,7 +2394,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)) {
@@ -2752,9 +2649,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;
 }
 
@@ -2829,7 +2724,8 @@ 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_);
@@ -2837,7 +2733,6 @@ void Car_info::InternalSwap(Car_info* other) {
   swap(car_wheel_width_, other->car_wheel_width_);
   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 {
@@ -2874,17 +2769,15 @@ const int Parkspace_info::kCarTypeFieldNumber;
 
 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()) {
@@ -2906,7 +2799,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>(
@@ -2926,9 +2818,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();
@@ -2936,17 +2826,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)
@@ -2957,12 +2840,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);
@@ -2990,7 +2871,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(16383u);
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(16383u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
@@ -3353,7 +3234,7 @@ void Parkspace_info::SerializeWithCachedSizes(
   // optional .message.Car_info car_info = 11;
   if (cached_has_bits & 0x00000004u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      11, *this->car_info_, output);
+      11, this->_internal_car_info(), output);
   }
 
   // optional string entry_time = 12;
@@ -3471,7 +3352,7 @@ void Parkspace_info::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000004u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        11, *this->car_info_, deterministic, target);
+        11, this->_internal_car_info(), deterministic, target);
   }
 
   // optional string entry_time = 12;
@@ -3555,7 +3436,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 parkingspace_index_id = 1;
@@ -3648,9 +3529,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;
 }
 
@@ -3762,8 +3641,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(parkingspace_index_id_, other->parkingspace_index_id_);
   swap(parkingspace_type_, other->parkingspace_type_);
@@ -3781,7 +3662,6 @@ void Parkspace_info::InternalSwap(Parkspace_info* other) {
   swap(car_type_, other->car_type_);
   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 {
@@ -3792,5 +3672,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)

+ 181 - 139
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 {
@@ -446,7 +438,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);
@@ -456,28 +448,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 {
@@ -488,7 +485,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 ----------------------------------------------------
 
@@ -538,13 +535,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();
 };
 // -------------------------------------------------------------------
 
@@ -589,7 +585,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);
@@ -599,28 +595,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 {
@@ -631,7 +632,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 ----------------------------------------------------
 
@@ -641,6 +642,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();
@@ -653,10 +657,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();
 };
 // -------------------------------------------------------------------
 
@@ -701,7 +704,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);
@@ -711,28 +714,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 {
@@ -743,7 +751,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 ----------------------------------------------------
 
@@ -789,12 +797,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();
 };
 // -------------------------------------------------------------------
 
@@ -839,7 +846,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);
@@ -849,28 +856,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 {
@@ -881,7 +893,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 ----------------------------------------------------
 
@@ -1000,7 +1012,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_;
@@ -1014,7 +1026,6 @@ class Locate_information : public ::google::protobuf::Message /* @@protoc_insert
   float uniformed_car_x_;
   float uniformed_car_y_;
   friend struct ::protobuf_message_5fbase_2eproto::TableStruct;
-  friend void ::protobuf_message_5fbase_2eproto::InitDefaultsLocate_informationImpl();
 };
 // -------------------------------------------------------------------
 
@@ -1059,7 +1070,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);
@@ -1069,28 +1080,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 {
@@ -1101,7 +1117,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 ----------------------------------------------------
 
@@ -1174,7 +1190,7 @@ 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_;
@@ -1182,7 +1198,6 @@ class Car_info : public ::google::protobuf::Message /* @@protoc_insertion_point(
   float car_wheel_base_;
   float car_wheel_width_;
   friend struct ::protobuf_message_5fbase_2eproto::TableStruct;
-  friend void ::protobuf_message_5fbase_2eproto::InitDefaultsCar_infoImpl();
 };
 // -------------------------------------------------------------------
 
@@ -1227,7 +1242,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);
@@ -1237,28 +1252,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 {
@@ -1269,7 +1289,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 ----------------------------------------------------
 
@@ -1309,6 +1329,9 @@ class Parkspace_info : public ::google::protobuf::Message /* @@protoc_insertion_
   bool has_car_info() const;
   void clear_car_info();
   static const int kCarInfoFieldNumber = 11;
+  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();
@@ -1451,7 +1474,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_;
@@ -1470,7 +1493,6 @@ class Parkspace_info : public ::google::protobuf::Message /* @@protoc_insertion_
   int parkspace_status_target_;
   int car_type_;
   friend struct ::protobuf_message_5fbase_2eproto::TableStruct;
-  friend void ::protobuf_message_5fbase_2eproto::InitDefaultsParkspace_infoImpl();
 };
 // ===================================================================
 
@@ -1600,6 +1622,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)
@@ -1616,7 +1641,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_;
@@ -1743,8 +1769,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) {
@@ -2174,8 +2203,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) {
@@ -2496,6 +2528,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)
@@ -2512,7 +2547,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_;
@@ -2586,8 +2622,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) {
@@ -2649,8 +2688,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) {
@@ -2782,62 +2824,62 @@ inline void Parkspace_info::set_car_type(::message::Car_type value) {
 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::Parkspace_path> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Parkspace_path> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Parkspace_path>() {
   return ::message::Parkspace_path_descriptor();
 }
-template <> struct is_proto_enum< ::message::Parkspace_type> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Parkspace_type> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Parkspace_type>() {
   return ::message::Parkspace_type_descriptor();
 }
-template <> struct is_proto_enum< ::message::Car_type> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Car_type> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Car_type>() {
   return ::message::Car_type_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();
 }
-template <> struct is_proto_enum< ::message::Dispatch_device_type> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::message::Dispatch_device_type> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::message::Dispatch_device_type>() {
   return ::message::Dispatch_device_type_descriptor();
@@ -2848,4 +2890,4 @@ inline const EnumDescriptor* GetEnumDescriptor< ::message::Dispatch_device_type>
 
 // @@protoc_insertion_point(global_scope)
 
-#endif  // PROTOBUF_message_5fbase_2eproto__INCLUDED
+#endif  // PROTOBUF_INCLUDED_message_5fbase_2eproto

Разлика између датотеке није приказан због своје велике величине
+ 393 - 588
message/parkspace_allocation_message.pb.cc


Разлика између датотеке није приказан због своје велике величине
+ 593 - 379
message/parkspace_allocation_message.pb.h


+ 59 - 86
snap7_communication/snap7_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_snap7_5fcommunication_2eproto {
+extern PROTOBUF_INTERNAL_EXPORT_protobuf_snap7_5fcommunication_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Snap7_communication_parameter;
+}  // namespace protobuf_snap7_5fcommunication_2eproto
 namespace Snap7_communication_proto {
 class Snap7_communication_parameterDefaultTypeInternal {
  public:
@@ -32,18 +35,13 @@ class Snap7_communication_parameter_allDefaultTypeInternal {
 } _Snap7_communication_parameter_all_default_instance_;
 }  // namespace Snap7_communication_proto
 namespace protobuf_snap7_5fcommunication_2eproto {
-void InitDefaultsSnap7_communication_parameterImpl() {
+static void InitDefaultsSnap7_communication_parameter() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::Snap7_communication_proto::Snap7_communication_parameter::_default_ip_string_.DefaultConstruct();
-  *::Snap7_communication_proto::Snap7_communication_parameter::_default_ip_string_.get_mutable() = ::std::string("192.168.0.1", 11);
+  ::Snap7_communication_proto::Snap7_communication_parameter::_i_give_permission_to_break_this_code_default_ip_string_.DefaultConstruct();
+  *::Snap7_communication_proto::Snap7_communication_parameter::_i_give_permission_to_break_this_code_default_ip_string_.get_mutable() = ::std::string("192.168.0.1", 11);
   ::google::protobuf::internal::OnShutdownDestroyString(
-      ::Snap7_communication_proto::Snap7_communication_parameter::_default_ip_string_.get_mutable());
+      ::Snap7_communication_proto::Snap7_communication_parameter::_i_give_permission_to_break_this_code_default_ip_string_.get_mutable());
   {
     void* ptr = &::Snap7_communication_proto::_Snap7_communication_parameter_default_instance_;
     new (ptr) ::Snap7_communication_proto::Snap7_communication_parameter();
@@ -52,20 +50,12 @@ void InitDefaultsSnap7_communication_parameterImpl() {
   ::Snap7_communication_proto::Snap7_communication_parameter::InitAsDefaultInstance();
 }
 
-void InitDefaultsSnap7_communication_parameter() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsSnap7_communication_parameterImpl);
-}
+::google::protobuf::internal::SCCInfo<0> scc_info_Snap7_communication_parameter =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsSnap7_communication_parameter}, {}};
 
-void InitDefaultsSnap7_communication_parameter_allImpl() {
+static void InitDefaultsSnap7_communication_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_snap7_5fcommunication_2eproto::InitDefaultsSnap7_communication_parameter();
   {
     void* ptr = &::Snap7_communication_proto::_Snap7_communication_parameter_all_default_instance_;
     new (ptr) ::Snap7_communication_proto::Snap7_communication_parameter_all();
@@ -74,9 +64,13 @@ void InitDefaultsSnap7_communication_parameter_allImpl() {
   ::Snap7_communication_proto::Snap7_communication_parameter_all::InitAsDefaultInstance();
 }
 
-void InitDefaultsSnap7_communication_parameter_all() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsSnap7_communication_parameter_allImpl);
+::google::protobuf::internal::SCCInfo<1> scc_info_Snap7_communication_parameter_all =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsSnap7_communication_parameter_all}, {
+      &protobuf_snap7_5fcommunication_2eproto::scc_info_Snap7_communication_parameter.base,}};
+
+void InitDefaults() {
+  ::google::protobuf::internal::InitSCC(&scc_info_Snap7_communication_parameter.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_Snap7_communication_parameter_all.base);
 }
 
 ::google::protobuf::Metadata file_level_metadata[2];
@@ -109,15 +103,14 @@ static ::google::protobuf::Message const * const file_default_instances[] = {
 
 void protobuf_AssignDescriptors() {
   AddDescriptors();
-  ::google::protobuf::MessageFactory* factory = NULL;
   AssignDescriptors(
-      "snap7_communication.proto", schemas, file_default_instances, TableStruct::offsets, factory,
+      "snap7_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;
@@ -144,8 +137,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 {
@@ -160,35 +153,32 @@ namespace Snap7_communication_proto {
 
 void Snap7_communication_parameter::InitAsDefaultInstance() {
 }
-::google::protobuf::internal::ExplicitlyConstructed< ::std::string> Snap7_communication_parameter::_default_ip_string_;
+::google::protobuf::internal::ExplicitlyConstructed<::std::string> Snap7_communication_parameter::_i_give_permission_to_break_this_code_default_ip_string_;
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int Snap7_communication_parameter::kIpStringFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 Snap7_communication_parameter::Snap7_communication_parameter()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_snap7_5fcommunication_2eproto::InitDefaultsSnap7_communication_parameter();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_snap7_5fcommunication_2eproto::scc_info_Snap7_communication_parameter.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:Snap7_communication_proto.Snap7_communication_parameter)
 }
 Snap7_communication_parameter::Snap7_communication_parameter(const Snap7_communication_parameter& 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_);
-  ip_string_.UnsafeSetDefault(&::Snap7_communication_proto::Snap7_communication_parameter::_default_ip_string_.get());
+  ip_string_.UnsafeSetDefault(&::Snap7_communication_proto::Snap7_communication_parameter::_i_give_permission_to_break_this_code_default_ip_string_.get());
   if (from.has_ip_string()) {
-    ip_string_.AssignWithDefault(&::Snap7_communication_proto::Snap7_communication_parameter::_default_ip_string_.get(), from.ip_string_);
+    ip_string_.AssignWithDefault(&::Snap7_communication_proto::Snap7_communication_parameter::_i_give_permission_to_break_this_code_default_ip_string_.get(), from.ip_string_);
   }
   // @@protoc_insertion_point(copy_constructor:Snap7_communication_proto.Snap7_communication_parameter)
 }
 
 void Snap7_communication_parameter::SharedCtor() {
-  _cached_size_ = 0;
-  ip_string_.UnsafeSetDefault(&::Snap7_communication_proto::Snap7_communication_parameter::_default_ip_string_.get());
+  ip_string_.UnsafeSetDefault(&::Snap7_communication_proto::Snap7_communication_parameter::_i_give_permission_to_break_this_code_default_ip_string_.get());
 }
 
 Snap7_communication_parameter::~Snap7_communication_parameter() {
@@ -197,13 +187,11 @@ Snap7_communication_parameter::~Snap7_communication_parameter() {
 }
 
 void Snap7_communication_parameter::SharedDtor() {
-  ip_string_.DestroyNoArena(&::Snap7_communication_proto::Snap7_communication_parameter::_default_ip_string_.get());
+  ip_string_.DestroyNoArena(&::Snap7_communication_proto::Snap7_communication_parameter::_i_give_permission_to_break_this_code_default_ip_string_.get());
 }
 
 void Snap7_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* Snap7_communication_parameter::descriptor() {
   ::protobuf_snap7_5fcommunication_2eproto::protobuf_AssignDescriptorsOnce();
@@ -211,17 +199,10 @@ const ::google::protobuf::Descriptor* Snap7_communication_parameter::descriptor(
 }
 
 const Snap7_communication_parameter& Snap7_communication_parameter::default_instance() {
-  ::protobuf_snap7_5fcommunication_2eproto::InitDefaultsSnap7_communication_parameter();
+  ::google::protobuf::internal::InitSCC(&protobuf_snap7_5fcommunication_2eproto::scc_info_Snap7_communication_parameter.base);
   return *internal_default_instance();
 }
 
-Snap7_communication_parameter* Snap7_communication_parameter::New(::google::protobuf::Arena* arena) const {
-  Snap7_communication_parameter* n = new Snap7_communication_parameter;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Snap7_communication_parameter::Clear() {
 // @@protoc_insertion_point(message_clear_start:Snap7_communication_proto.Snap7_communication_parameter)
@@ -231,8 +212,7 @@ void Snap7_communication_parameter::Clear() {
 
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 0x00000001u) {
-    GOOGLE_DCHECK(!ip_string_.IsDefault(&::Snap7_communication_proto::Snap7_communication_parameter::_default_ip_string_.get()));
-    (*ip_string_.UnsafeRawStringPointer())->assign(*&::Snap7_communication_proto::Snap7_communication_parameter::_default_ip_string_.get());
+    ip_string_.UnsafeMutablePointer()->assign(*&::Snap7_communication_proto::Snap7_communication_parameter::_i_give_permission_to_break_this_code_default_ip_string_.get());
   }
   _has_bits_.Clear();
   _internal_metadata_.Clear();
@@ -244,7 +224,7 @@ bool Snap7_communication_parameter::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:Snap7_communication_proto.Snap7_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)) {
@@ -351,9 +331,7 @@ size_t Snap7_communication_parameter::ByteSizeLong() const {
         this->ip_string());
   }
   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;
 }
 
@@ -381,7 +359,7 @@ void Snap7_communication_parameter::MergeFrom(const Snap7_communication_paramete
 
   if (from.has_ip_string()) {
     set_has_ip_string();
-    ip_string_.AssignWithDefault(&::Snap7_communication_proto::Snap7_communication_parameter::_default_ip_string_.get(), from.ip_string_);
+    ip_string_.AssignWithDefault(&::Snap7_communication_proto::Snap7_communication_parameter::_i_give_permission_to_break_this_code_default_ip_string_.get(), from.ip_string_);
   }
 }
 
@@ -410,10 +388,10 @@ void Snap7_communication_parameter::Swap(Snap7_communication_parameter* other) {
 }
 void Snap7_communication_parameter::InternalSwap(Snap7_communication_parameter* other) {
   using std::swap;
-  ip_string_.Swap(&other->ip_string_);
+  ip_string_.Swap(&other->ip_string_, &::Snap7_communication_proto::Snap7_communication_parameter::_i_give_permission_to_break_this_code_default_ip_string_.get(),
+    GetArenaNoVirtual());
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
 ::google::protobuf::Metadata Snap7_communication_parameter::GetMetadata() const {
@@ -434,17 +412,15 @@ const int Snap7_communication_parameter_all::kSnap7CommunicationParametersFieldN
 
 Snap7_communication_parameter_all::Snap7_communication_parameter_all()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_snap7_5fcommunication_2eproto::InitDefaultsSnap7_communication_parameter_all();
-  }
+  ::google::protobuf::internal::InitSCC(
+      &protobuf_snap7_5fcommunication_2eproto::scc_info_Snap7_communication_parameter_all.base);
   SharedCtor();
   // @@protoc_insertion_point(constructor:Snap7_communication_proto.Snap7_communication_parameter_all)
 }
 Snap7_communication_parameter_all::Snap7_communication_parameter_all(const Snap7_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_snap7_communication_parameters()) {
     snap7_communication_parameters_ = new ::Snap7_communication_proto::Snap7_communication_parameter(*from.snap7_communication_parameters_);
@@ -455,7 +431,6 @@ Snap7_communication_parameter_all::Snap7_communication_parameter_all(const Snap7
 }
 
 void Snap7_communication_parameter_all::SharedCtor() {
-  _cached_size_ = 0;
   snap7_communication_parameters_ = NULL;
 }
 
@@ -469,9 +444,7 @@ void Snap7_communication_parameter_all::SharedDtor() {
 }
 
 void Snap7_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* Snap7_communication_parameter_all::descriptor() {
   ::protobuf_snap7_5fcommunication_2eproto::protobuf_AssignDescriptorsOnce();
@@ -479,17 +452,10 @@ const ::google::protobuf::Descriptor* Snap7_communication_parameter_all::descrip
 }
 
 const Snap7_communication_parameter_all& Snap7_communication_parameter_all::default_instance() {
-  ::protobuf_snap7_5fcommunication_2eproto::InitDefaultsSnap7_communication_parameter_all();
+  ::google::protobuf::internal::InitSCC(&protobuf_snap7_5fcommunication_2eproto::scc_info_Snap7_communication_parameter_all.base);
   return *internal_default_instance();
 }
 
-Snap7_communication_parameter_all* Snap7_communication_parameter_all::New(::google::protobuf::Arena* arena) const {
-  Snap7_communication_parameter_all* n = new Snap7_communication_parameter_all;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void Snap7_communication_parameter_all::Clear() {
 // @@protoc_insertion_point(message_clear_start:Snap7_communication_proto.Snap7_communication_parameter_all)
@@ -512,7 +478,7 @@ bool Snap7_communication_parameter_all::MergePartialFromCodedStream(
   ::google::protobuf::uint32 tag;
   // @@protoc_insertion_point(parse_start:Snap7_communication_proto.Snap7_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)) {
@@ -558,7 +524,7 @@ void Snap7_communication_parameter_all::SerializeWithCachedSizes(
   // required .Snap7_communication_proto.Snap7_communication_parameter snap7_communication_parameters = 1;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, *this->snap7_communication_parameters_, output);
+      1, this->_internal_snap7_communication_parameters(), output);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -580,7 +546,7 @@ void Snap7_communication_parameter_all::SerializeWithCachedSizes(
   if (cached_has_bits & 0x00000001u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        1, *this->snap7_communication_parameters_, deterministic, target);
+        1, this->_internal_snap7_communication_parameters(), deterministic, target);
   }
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -604,12 +570,10 @@ size_t Snap7_communication_parameter_all::ByteSizeLong() const {
   if (has_snap7_communication_parameters()) {
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->snap7_communication_parameters_);
+        *snap7_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;
 }
 
@@ -671,7 +635,6 @@ void Snap7_communication_parameter_all::InternalSwap(Snap7_communication_paramet
   swap(snap7_communication_parameters_, other->snap7_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 Snap7_communication_parameter_all::GetMetadata() const {
@@ -682,5 +645,15 @@ void Snap7_communication_parameter_all::InternalSwap(Snap7_communication_paramet
 
 // @@protoc_insertion_point(namespace_scope)
 }  // namespace Snap7_communication_proto
+namespace google {
+namespace protobuf {
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::Snap7_communication_proto::Snap7_communication_parameter* Arena::CreateMaybeMessage< ::Snap7_communication_proto::Snap7_communication_parameter >(Arena* arena) {
+  return Arena::CreateInternal< ::Snap7_communication_proto::Snap7_communication_parameter >(arena);
+}
+template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::Snap7_communication_proto::Snap7_communication_parameter_all* Arena::CreateMaybeMessage< ::Snap7_communication_proto::Snap7_communication_parameter_all >(Arena* arena) {
+  return Arena::CreateInternal< ::Snap7_communication_proto::Snap7_communication_parameter_all >(arena);
+}
+}  // namespace protobuf
+}  // namespace google
 
 // @@protoc_insertion_point(global_scope)

+ 75 - 55
snap7_communication/snap7_communication.pb.h

@@ -1,19 +1,19 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: snap7_communication.proto
 
-#ifndef PROTOBUF_snap7_5fcommunication_2eproto__INCLUDED
-#define PROTOBUF_snap7_5fcommunication_2eproto__INCLUDED
+#ifndef PROTOBUF_INCLUDED_snap7_5fcommunication_2eproto
+#define PROTOBUF_INCLUDED_snap7_5fcommunication_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_snap7_5fcommunication_2eproto 
 
 namespace protobuf_snap7_5fcommunication_2eproto {
 // Internal implementation detail -- do not use these members.
@@ -42,14 +44,6 @@ struct TableStruct {
   static const ::google::protobuf::uint32 offsets[];
 };
 void AddDescriptors();
-void InitDefaultsSnap7_communication_parameterImpl();
-void InitDefaultsSnap7_communication_parameter();
-void InitDefaultsSnap7_communication_parameter_allImpl();
-void InitDefaultsSnap7_communication_parameter_all();
-inline void InitDefaults() {
-  InitDefaultsSnap7_communication_parameter();
-  InitDefaultsSnap7_communication_parameter_all();
-}
 }  // namespace protobuf_snap7_5fcommunication_2eproto
 namespace Snap7_communication_proto {
 class Snap7_communication_parameter;
@@ -59,6 +53,12 @@ class Snap7_communication_parameter_all;
 class Snap7_communication_parameter_allDefaultTypeInternal;
 extern Snap7_communication_parameter_allDefaultTypeInternal _Snap7_communication_parameter_all_default_instance_;
 }  // namespace Snap7_communication_proto
+namespace google {
+namespace protobuf {
+template<> ::Snap7_communication_proto::Snap7_communication_parameter* Arena::CreateMaybeMessage<::Snap7_communication_proto::Snap7_communication_parameter>(Arena*);
+template<> ::Snap7_communication_proto::Snap7_communication_parameter_all* Arena::CreateMaybeMessage<::Snap7_communication_proto::Snap7_communication_parameter_all>(Arena*);
+}  // namespace protobuf
+}  // namespace google
 namespace Snap7_communication_proto {
 
 // ===================================================================
@@ -104,7 +104,7 @@ class Snap7_communication_parameter : public ::google::protobuf::Message /* @@pr
     return reinterpret_cast<const Snap7_communication_parameter*>(
                &_Snap7_communication_parameter_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     0;
 
   void Swap(Snap7_communication_parameter* other);
@@ -114,28 +114,33 @@ class Snap7_communication_parameter : public ::google::protobuf::Message /* @@pr
 
   // implements Message ----------------------------------------------
 
-  inline Snap7_communication_parameter* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Snap7_communication_parameter* New() const final {
+    return CreateMaybeMessage<Snap7_communication_parameter>(NULL);
+  }
 
-  Snap7_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;
+  Snap7_communication_parameter* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Snap7_communication_parameter>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Snap7_communication_parameter& from);
   void MergeFrom(const Snap7_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(Snap7_communication_parameter* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -146,7 +151,7 @@ class Snap7_communication_parameter : public ::google::protobuf::Message /* @@pr
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -174,11 +179,12 @@ class Snap7_communication_parameter : public ::google::protobuf::Message /* @@pr
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
-  static ::google::protobuf::internal::ExplicitlyConstructed< ::std::string> _default_ip_string_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
+  public:
+  static ::google::protobuf::internal::ExplicitlyConstructed< ::std::string> _i_give_permission_to_break_this_code_default_ip_string_;
+  private:
   ::google::protobuf::internal::ArenaStringPtr ip_string_;
   friend struct ::protobuf_snap7_5fcommunication_2eproto::TableStruct;
-  friend void ::protobuf_snap7_5fcommunication_2eproto::InitDefaultsSnap7_communication_parameterImpl();
 };
 // -------------------------------------------------------------------
 
@@ -223,7 +229,7 @@ class Snap7_communication_parameter_all : public ::google::protobuf::Message /*
     return reinterpret_cast<const Snap7_communication_parameter_all*>(
                &_Snap7_communication_parameter_all_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     1;
 
   void Swap(Snap7_communication_parameter_all* other);
@@ -233,28 +239,33 @@ class Snap7_communication_parameter_all : public ::google::protobuf::Message /*
 
   // implements Message ----------------------------------------------
 
-  inline Snap7_communication_parameter_all* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Snap7_communication_parameter_all* New() const final {
+    return CreateMaybeMessage<Snap7_communication_parameter_all>(NULL);
+  }
 
-  Snap7_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;
+  Snap7_communication_parameter_all* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<Snap7_communication_parameter_all>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
   void CopyFrom(const Snap7_communication_parameter_all& from);
   void MergeFrom(const Snap7_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(Snap7_communication_parameter_all* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
@@ -265,7 +276,7 @@ class Snap7_communication_parameter_all : public ::google::protobuf::Message /*
   }
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::google::protobuf::Metadata GetMetadata() const final;
 
   // nested types ----------------------------------------------------
 
@@ -275,6 +286,9 @@ class Snap7_communication_parameter_all : public ::google::protobuf::Message /*
   bool has_snap7_communication_parameters() const;
   void clear_snap7_communication_parameters();
   static const int kSnap7CommunicationParametersFieldNumber = 1;
+  private:
+  const ::Snap7_communication_proto::Snap7_communication_parameter& _internal_snap7_communication_parameters() const;
+  public:
   const ::Snap7_communication_proto::Snap7_communication_parameter& snap7_communication_parameters() const;
   ::Snap7_communication_proto::Snap7_communication_parameter* release_snap7_communication_parameters();
   ::Snap7_communication_proto::Snap7_communication_parameter* mutable_snap7_communication_parameters();
@@ -287,10 +301,9 @@ class Snap7_communication_parameter_all : public ::google::protobuf::Message /*
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::Snap7_communication_proto::Snap7_communication_parameter* snap7_communication_parameters_;
   friend struct ::protobuf_snap7_5fcommunication_2eproto::TableStruct;
-  friend void ::protobuf_snap7_5fcommunication_2eproto::InitDefaultsSnap7_communication_parameter_allImpl();
 };
 // ===================================================================
 
@@ -314,7 +327,7 @@ inline void Snap7_communication_parameter::clear_has_ip_string() {
   _has_bits_[0] &= ~0x00000001u;
 }
 inline void Snap7_communication_parameter::clear_ip_string() {
-  ip_string_.ClearToDefaultNoArena(&::Snap7_communication_proto::Snap7_communication_parameter::_default_ip_string_.get());
+  ip_string_.ClearToDefaultNoArena(&::Snap7_communication_proto::Snap7_communication_parameter::_i_give_permission_to_break_this_code_default_ip_string_.get());
   clear_has_ip_string();
 }
 inline const ::std::string& Snap7_communication_parameter::ip_string() const {
@@ -323,38 +336,41 @@ inline const ::std::string& Snap7_communication_parameter::ip_string() const {
 }
 inline void Snap7_communication_parameter::set_ip_string(const ::std::string& value) {
   set_has_ip_string();
-  ip_string_.SetNoArena(&::Snap7_communication_proto::Snap7_communication_parameter::_default_ip_string_.get(), value);
+  ip_string_.SetNoArena(&::Snap7_communication_proto::Snap7_communication_parameter::_i_give_permission_to_break_this_code_default_ip_string_.get(), value);
   // @@protoc_insertion_point(field_set:Snap7_communication_proto.Snap7_communication_parameter.ip_string)
 }
 #if LANG_CXX11
 inline void Snap7_communication_parameter::set_ip_string(::std::string&& value) {
   set_has_ip_string();
   ip_string_.SetNoArena(
-    &::Snap7_communication_proto::Snap7_communication_parameter::_default_ip_string_.get(), ::std::move(value));
+    &::Snap7_communication_proto::Snap7_communication_parameter::_i_give_permission_to_break_this_code_default_ip_string_.get(), ::std::move(value));
   // @@protoc_insertion_point(field_set_rvalue:Snap7_communication_proto.Snap7_communication_parameter.ip_string)
 }
 #endif
 inline void Snap7_communication_parameter::set_ip_string(const char* value) {
   GOOGLE_DCHECK(value != NULL);
   set_has_ip_string();
-  ip_string_.SetNoArena(&::Snap7_communication_proto::Snap7_communication_parameter::_default_ip_string_.get(), ::std::string(value));
+  ip_string_.SetNoArena(&::Snap7_communication_proto::Snap7_communication_parameter::_i_give_permission_to_break_this_code_default_ip_string_.get(), ::std::string(value));
   // @@protoc_insertion_point(field_set_char:Snap7_communication_proto.Snap7_communication_parameter.ip_string)
 }
 inline void Snap7_communication_parameter::set_ip_string(const char* value, size_t size) {
   set_has_ip_string();
-  ip_string_.SetNoArena(&::Snap7_communication_proto::Snap7_communication_parameter::_default_ip_string_.get(),
+  ip_string_.SetNoArena(&::Snap7_communication_proto::Snap7_communication_parameter::_i_give_permission_to_break_this_code_default_ip_string_.get(),
       ::std::string(reinterpret_cast<const char*>(value), size));
   // @@protoc_insertion_point(field_set_pointer:Snap7_communication_proto.Snap7_communication_parameter.ip_string)
 }
 inline ::std::string* Snap7_communication_parameter::mutable_ip_string() {
   set_has_ip_string();
   // @@protoc_insertion_point(field_mutable:Snap7_communication_proto.Snap7_communication_parameter.ip_string)
-  return ip_string_.MutableNoArena(&::Snap7_communication_proto::Snap7_communication_parameter::_default_ip_string_.get());
+  return ip_string_.MutableNoArena(&::Snap7_communication_proto::Snap7_communication_parameter::_i_give_permission_to_break_this_code_default_ip_string_.get());
 }
 inline ::std::string* Snap7_communication_parameter::release_ip_string() {
   // @@protoc_insertion_point(field_release:Snap7_communication_proto.Snap7_communication_parameter.ip_string)
+  if (!has_ip_string()) {
+    return NULL;
+  }
   clear_has_ip_string();
-  return ip_string_.ReleaseNoArena(&::Snap7_communication_proto::Snap7_communication_parameter::_default_ip_string_.get());
+  return ip_string_.ReleaseNonDefaultNoArena(&::Snap7_communication_proto::Snap7_communication_parameter::_i_give_permission_to_break_this_code_default_ip_string_.get());
 }
 inline void Snap7_communication_parameter::set_allocated_ip_string(::std::string* ip_string) {
   if (ip_string != NULL) {
@@ -362,7 +378,7 @@ inline void Snap7_communication_parameter::set_allocated_ip_string(::std::string
   } else {
     clear_has_ip_string();
   }
-  ip_string_.SetAllocatedNoArena(&::Snap7_communication_proto::Snap7_communication_parameter::_default_ip_string_.get(), ip_string);
+  ip_string_.SetAllocatedNoArena(&::Snap7_communication_proto::Snap7_communication_parameter::_i_give_permission_to_break_this_code_default_ip_string_.get(), ip_string);
   // @@protoc_insertion_point(field_set_allocated:Snap7_communication_proto.Snap7_communication_parameter.ip_string)
 }
 
@@ -384,6 +400,9 @@ inline void Snap7_communication_parameter_all::clear_snap7_communication_paramet
   if (snap7_communication_parameters_ != NULL) snap7_communication_parameters_->Clear();
   clear_has_snap7_communication_parameters();
 }
+inline const ::Snap7_communication_proto::Snap7_communication_parameter& Snap7_communication_parameter_all::_internal_snap7_communication_parameters() const {
+  return *snap7_communication_parameters_;
+}
 inline const ::Snap7_communication_proto::Snap7_communication_parameter& Snap7_communication_parameter_all::snap7_communication_parameters() const {
   const ::Snap7_communication_proto::Snap7_communication_parameter* p = snap7_communication_parameters_;
   // @@protoc_insertion_point(field_get:Snap7_communication_proto.Snap7_communication_parameter_all.snap7_communication_parameters)
@@ -400,7 +419,8 @@ inline ::Snap7_communication_proto::Snap7_communication_parameter* Snap7_communi
 inline ::Snap7_communication_proto::Snap7_communication_parameter* Snap7_communication_parameter_all::mutable_snap7_communication_parameters() {
   set_has_snap7_communication_parameters();
   if (snap7_communication_parameters_ == NULL) {
-    snap7_communication_parameters_ = new ::Snap7_communication_proto::Snap7_communication_parameter;
+    auto* p = CreateMaybeMessage<::Snap7_communication_proto::Snap7_communication_parameter>(GetArenaNoVirtual());
+    snap7_communication_parameters_ = p;
   }
   // @@protoc_insertion_point(field_mutable:Snap7_communication_proto.Snap7_communication_parameter_all.snap7_communication_parameters)
   return snap7_communication_parameters_;
@@ -436,4 +456,4 @@ inline void Snap7_communication_parameter_all::set_allocated_snap7_communication
 
 // @@protoc_insertion_point(global_scope)
 
-#endif  // PROTOBUF_snap7_5fcommunication_2eproto__INCLUDED
+#endif  // PROTOBUF_INCLUDED_snap7_5fcommunication_2eproto