// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: steamnetworkingsockets_messages_udp.proto
// Protobuf C++ Version: 7.35.1

#ifndef steamnetworkingsockets_5fmessages_5fudp_2eproto_2epb_2eh
#define steamnetworkingsockets_5fmessages_5fudp_2eproto_2epb_2eh

#include <limits>
#include <string>
#include <type_traits>
#include <utility>

// clang-format off
#include "google/protobuf/runtime_version.h"
#if PROTOBUF_VERSION != 7035001
#error "Protobuf C++ gencode is built with an incompatible version of"
#error "Protobuf C++ headers/runtime. See"
#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
#endif
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/arena.h"
#include "google/protobuf/arenastring.h"
#include "google/protobuf/generated_message_tctable_decl.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/metadata_lite.h"
#include "google/protobuf/generated_message_reflection.h"
#include "google/protobuf/message.h"
#include "google/protobuf/message_lite.h"
#include "google/protobuf/repeated_field.h"  // IWYU pragma: export
#include "google/protobuf/extension_set.h"  // IWYU pragma: export
#include "google/protobuf/generated_enum_reflection.h"
#include "google/protobuf/unknown_field_set.h"
#include "steamnetworkingsockets_messages_certs.pb.h"
#include "steamnetworkingsockets_messages.pb.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"

#define PROTOBUF_INTERNAL_EXPORT_steamnetworkingsockets_5fmessages_5fudp_2eproto

namespace google {
namespace protobuf {
namespace internal {
template <typename T>
::absl::string_view GetAnyMessageName();
}  // namespace internal
}  // namespace protobuf
}  // namespace google

// Internal implementation detail -- do not use these members.
struct TableStruct_steamnetworkingsockets_5fmessages_5fudp_2eproto {
  static const ::uint32_t offsets[];
};
extern "C" {
extern const ::google::protobuf::internal::DescriptorTable descriptor_table_steamnetworkingsockets_5fmessages_5fudp_2eproto;
}  // extern "C"
enum CMsgSteamSockets_UDP_Stats_Flags : int;
extern const uint32_t CMsgSteamSockets_UDP_Stats_Flags_internal_data_[];
enum ESteamNetworkingUDPMsgID : int;
extern const uint32_t ESteamNetworkingUDPMsgID_internal_data_[];
class CMsgSteamSockets_UDP_ChallengeReply;
struct CMsgSteamSockets_UDP_ChallengeReplyGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern CMsgSteamSockets_UDP_ChallengeReplyGlobalsTypeInternal CMsgSteamSockets_UDP_ChallengeReply_globals_;
extern const ::google::protobuf::internal::ClassDataFull CMsgSteamSockets_UDP_ChallengeReply_class_data_;
#else
extern const CMsgSteamSockets_UDP_ChallengeReplyGlobalsTypeInternal CMsgSteamSockets_UDP_ChallengeReply_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class CMsgSteamSockets_UDP_ChallengeRequest;
struct CMsgSteamSockets_UDP_ChallengeRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern CMsgSteamSockets_UDP_ChallengeRequestGlobalsTypeInternal CMsgSteamSockets_UDP_ChallengeRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull CMsgSteamSockets_UDP_ChallengeRequest_class_data_;
#else
extern const CMsgSteamSockets_UDP_ChallengeRequestGlobalsTypeInternal CMsgSteamSockets_UDP_ChallengeRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class CMsgSteamSockets_UDP_ConnectOK;
struct CMsgSteamSockets_UDP_ConnectOKGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern CMsgSteamSockets_UDP_ConnectOKGlobalsTypeInternal CMsgSteamSockets_UDP_ConnectOK_globals_;
extern const ::google::protobuf::internal::ClassDataFull CMsgSteamSockets_UDP_ConnectOK_class_data_;
#else
extern const CMsgSteamSockets_UDP_ConnectOKGlobalsTypeInternal CMsgSteamSockets_UDP_ConnectOK_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class CMsgSteamSockets_UDP_ConnectRequest;
struct CMsgSteamSockets_UDP_ConnectRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern CMsgSteamSockets_UDP_ConnectRequestGlobalsTypeInternal CMsgSteamSockets_UDP_ConnectRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull CMsgSteamSockets_UDP_ConnectRequest_class_data_;
#else
extern const CMsgSteamSockets_UDP_ConnectRequestGlobalsTypeInternal CMsgSteamSockets_UDP_ConnectRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class CMsgSteamSockets_UDP_ConnectionClosed;
struct CMsgSteamSockets_UDP_ConnectionClosedGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern CMsgSteamSockets_UDP_ConnectionClosedGlobalsTypeInternal CMsgSteamSockets_UDP_ConnectionClosed_globals_;
extern const ::google::protobuf::internal::ClassDataFull CMsgSteamSockets_UDP_ConnectionClosed_class_data_;
#else
extern const CMsgSteamSockets_UDP_ConnectionClosedGlobalsTypeInternal CMsgSteamSockets_UDP_ConnectionClosed_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class CMsgSteamSockets_UDP_NoConnection;
struct CMsgSteamSockets_UDP_NoConnectionGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern CMsgSteamSockets_UDP_NoConnectionGlobalsTypeInternal CMsgSteamSockets_UDP_NoConnection_globals_;
extern const ::google::protobuf::internal::ClassDataFull CMsgSteamSockets_UDP_NoConnection_class_data_;
#else
extern const CMsgSteamSockets_UDP_NoConnectionGlobalsTypeInternal CMsgSteamSockets_UDP_NoConnection_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class CMsgSteamSockets_UDP_Stats;
struct CMsgSteamSockets_UDP_StatsGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern CMsgSteamSockets_UDP_StatsGlobalsTypeInternal CMsgSteamSockets_UDP_Stats_globals_;
extern const ::google::protobuf::internal::ClassDataFull CMsgSteamSockets_UDP_Stats_class_data_;
#else
extern const CMsgSteamSockets_UDP_StatsGlobalsTypeInternal CMsgSteamSockets_UDP_Stats_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
namespace google {
namespace protobuf {
template <>
internal::EnumTraitsT<::CMsgSteamSockets_UDP_Stats_Flags_internal_data_>
    internal::EnumTraitsImpl::value<::CMsgSteamSockets_UDP_Stats_Flags>;
template <>
internal::EnumTraitsT<::ESteamNetworkingUDPMsgID_internal_data_>
    internal::EnumTraitsImpl::value<::ESteamNetworkingUDPMsgID>;
}  // namespace protobuf
}  // namespace google

enum CMsgSteamSockets_UDP_Stats_Flags : int {
  CMsgSteamSockets_UDP_Stats_Flags_ACK_REQUEST_E2E = 2,
  CMsgSteamSockets_UDP_Stats_Flags_ACK_REQUEST_IMMEDIATE = 4,
  CMsgSteamSockets_UDP_Stats_Flags_NOT_PRIMARY_TRANSPORT_E2E = 16,
};

extern const uint32_t CMsgSteamSockets_UDP_Stats_Flags_internal_data_[];
inline constexpr CMsgSteamSockets_UDP_Stats_Flags CMsgSteamSockets_UDP_Stats_Flags_Flags_MIN =
    static_cast<CMsgSteamSockets_UDP_Stats_Flags>(2);
inline constexpr CMsgSteamSockets_UDP_Stats_Flags CMsgSteamSockets_UDP_Stats_Flags_Flags_MAX =
    static_cast<CMsgSteamSockets_UDP_Stats_Flags>(16);
[[nodiscard]] inline bool CMsgSteamSockets_UDP_Stats_Flags_IsValid(int value) {
  return 0 <= value && value <= 16 && ((65556u >> value) & 1) != 0;
}
inline constexpr int CMsgSteamSockets_UDP_Stats_Flags_Flags_ARRAYSIZE = 16 + 1;
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
CMsgSteamSockets_UDP_Stats_Flags_descriptor();
[[nodiscard]] inline auto ProtobufInternalGetEnumDescriptor(CMsgSteamSockets_UDP_Stats_Flags) {
  return CMsgSteamSockets_UDP_Stats_Flags_descriptor();
}
template <typename T>
[[nodiscard]] const ::std::string& CMsgSteamSockets_UDP_Stats_Flags_Name(T value) {
  static_assert(::std::is_same<T, CMsgSteamSockets_UDP_Stats_Flags>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to Flags_Name().");
  return CMsgSteamSockets_UDP_Stats_Flags_Name(static_cast<CMsgSteamSockets_UDP_Stats_Flags>(value));
}
template <>
[[nodiscard]] inline const ::std::string& CMsgSteamSockets_UDP_Stats_Flags_Name(CMsgSteamSockets_UDP_Stats_Flags value) {
  return ::google::protobuf::internal::NameOfDenseEnum<CMsgSteamSockets_UDP_Stats_Flags_descriptor, 2, 16>(
      static_cast<int>(value));
}
[[nodiscard]] inline bool CMsgSteamSockets_UDP_Stats_Flags_Parse(
    ::absl::string_view name, CMsgSteamSockets_UDP_Stats_Flags* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<CMsgSteamSockets_UDP_Stats_Flags>(CMsgSteamSockets_UDP_Stats_Flags_descriptor(), name,
                                           value);
}
enum ESteamNetworkingUDPMsgID : int {
  k_ESteamNetworkingUDPMsg_ChallengeRequest = 32,
  k_ESteamNetworkingUDPMsg_ChallengeReply = 33,
  k_ESteamNetworkingUDPMsg_ConnectRequest = 34,
  k_ESteamNetworkingUDPMsg_ConnectOK = 35,
  k_ESteamNetworkingUDPMsg_ConnectionClosed = 36,
  k_ESteamNetworkingUDPMsg_NoConnection = 37,
};

extern const uint32_t ESteamNetworkingUDPMsgID_internal_data_[];
inline constexpr ESteamNetworkingUDPMsgID ESteamNetworkingUDPMsgID_MIN =
    static_cast<ESteamNetworkingUDPMsgID>(32);
inline constexpr ESteamNetworkingUDPMsgID ESteamNetworkingUDPMsgID_MAX =
    static_cast<ESteamNetworkingUDPMsgID>(37);
[[nodiscard]] inline bool ESteamNetworkingUDPMsgID_IsValid(int value) {
  return 32 <= value && value <= 37;
}
inline constexpr int ESteamNetworkingUDPMsgID_ARRAYSIZE = 37 + 1;
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
ESteamNetworkingUDPMsgID_descriptor();
[[nodiscard]] inline auto ProtobufInternalGetEnumDescriptor(ESteamNetworkingUDPMsgID) {
  return ESteamNetworkingUDPMsgID_descriptor();
}
template <typename T>
[[nodiscard]] const ::std::string& ESteamNetworkingUDPMsgID_Name(T value) {
  static_assert(::std::is_same<T, ESteamNetworkingUDPMsgID>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to ESteamNetworkingUDPMsgID_Name().");
  return ESteamNetworkingUDPMsgID_Name(static_cast<ESteamNetworkingUDPMsgID>(value));
}
template <>
[[nodiscard]] inline const ::std::string& ESteamNetworkingUDPMsgID_Name(ESteamNetworkingUDPMsgID value) {
  return ::google::protobuf::internal::NameOfDenseEnum<ESteamNetworkingUDPMsgID_descriptor, 32, 37>(
      static_cast<int>(value));
}
[[nodiscard]] inline bool ESteamNetworkingUDPMsgID_Parse(
    ::absl::string_view name, ESteamNetworkingUDPMsgID* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<ESteamNetworkingUDPMsgID>(ESteamNetworkingUDPMsgID_descriptor(), name,
                                           value);
}
using ::google::protobuf::internal::generated_enum::AbslParseFlag;
using ::google::protobuf::internal::generated_enum::AbslUnparseFlag;

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


// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED CMsgSteamSockets_UDP_NoConnection final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:CMsgSteamSockets_UDP_NoConnection) */ {
 public:
  inline CMsgSteamSockets_UDP_NoConnection() : CMsgSteamSockets_UDP_NoConnection(nullptr) {}
  ~CMsgSteamSockets_UDP_NoConnection() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(CMsgSteamSockets_UDP_NoConnection* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(CMsgSteamSockets_UDP_NoConnection));
  }
#endif

  template <typename = void>
  explicit constexpr CMsgSteamSockets_UDP_NoConnection(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline CMsgSteamSockets_UDP_NoConnection(const CMsgSteamSockets_UDP_NoConnection& from) : CMsgSteamSockets_UDP_NoConnection(nullptr, from) {}
  inline CMsgSteamSockets_UDP_NoConnection(CMsgSteamSockets_UDP_NoConnection&& from) noexcept : CMsgSteamSockets_UDP_NoConnection(nullptr, ::std::move(from)) {}
  inline CMsgSteamSockets_UDP_NoConnection& operator=(const CMsgSteamSockets_UDP_NoConnection& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSteamSockets_UDP_NoConnection& operator=(CMsgSteamSockets_UDP_NoConnection&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const CMsgSteamSockets_UDP_NoConnection& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<CMsgSteamSockets_UDP_NoConnection>(&CMsgSteamSockets_UDP_NoConnection_globals_);
  }
  static constexpr int kIndexInFileMessages = 5;
  friend void swap(CMsgSteamSockets_UDP_NoConnection& a, CMsgSteamSockets_UDP_NoConnection& b) { a.Swap(&b); }
  inline void Swap(CMsgSteamSockets_UDP_NoConnection* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSteamSockets_UDP_NoConnection* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] CMsgSteamSockets_UDP_NoConnection* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<CMsgSteamSockets_UDP_NoConnection>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const CMsgSteamSockets_UDP_NoConnection& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const CMsgSteamSockets_UDP_NoConnection& from) { CMsgSteamSockets_UDP_NoConnection::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(CMsgSteamSockets_UDP_NoConnection* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "CMsgSteamSockets_UDP_NoConnection"; }

  explicit CMsgSteamSockets_UDP_NoConnection(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  CMsgSteamSockets_UDP_NoConnection(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CMsgSteamSockets_UDP_NoConnection& from);
  CMsgSteamSockets_UDP_NoConnection(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CMsgSteamSockets_UDP_NoConnection&& from) noexcept
      : CMsgSteamSockets_UDP_NoConnection(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kFromConnectionIdFieldNumber = 2,
    kToConnectionIdFieldNumber = 3,
  };
  // optional fixed32 from_connection_id = 2;
  [[nodiscard]] bool has_from_connection_id()
      const;
  void clear_from_connection_id() ;
  [[nodiscard]] ::uint32_t from_connection_id() const;
  void set_from_connection_id(::uint32_t value);

  private:
  ::uint32_t _internal_from_connection_id() const;
  void _internal_set_from_connection_id(::uint32_t value);

  public:
  // optional fixed32 to_connection_id = 3;
  [[nodiscard]] bool has_to_connection_id()
      const;
  void clear_to_connection_id() ;
  [[nodiscard]] ::uint32_t to_connection_id() const;
  void set_to_connection_id(::uint32_t value);

  private:
  ::uint32_t _internal_to_connection_id() const;
  void _internal_set_to_connection_id(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:CMsgSteamSockets_UDP_NoConnection)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const CMsgSteamSockets_UDP_NoConnection& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::uint32_t from_connection_id_;
    ::uint32_t to_connection_id_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_steamnetworkingsockets_5fmessages_5fudp_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED CMsgSteamSockets_UDP_ConnectionClosed final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:CMsgSteamSockets_UDP_ConnectionClosed) */ {
 public:
  inline CMsgSteamSockets_UDP_ConnectionClosed() : CMsgSteamSockets_UDP_ConnectionClosed(nullptr) {}
  ~CMsgSteamSockets_UDP_ConnectionClosed() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(CMsgSteamSockets_UDP_ConnectionClosed* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(CMsgSteamSockets_UDP_ConnectionClosed));
  }
#endif

  template <typename = void>
  explicit constexpr CMsgSteamSockets_UDP_ConnectionClosed(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline CMsgSteamSockets_UDP_ConnectionClosed(const CMsgSteamSockets_UDP_ConnectionClosed& from) : CMsgSteamSockets_UDP_ConnectionClosed(nullptr, from) {}
  inline CMsgSteamSockets_UDP_ConnectionClosed(CMsgSteamSockets_UDP_ConnectionClosed&& from) noexcept : CMsgSteamSockets_UDP_ConnectionClosed(nullptr, ::std::move(from)) {}
  inline CMsgSteamSockets_UDP_ConnectionClosed& operator=(const CMsgSteamSockets_UDP_ConnectionClosed& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSteamSockets_UDP_ConnectionClosed& operator=(CMsgSteamSockets_UDP_ConnectionClosed&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const CMsgSteamSockets_UDP_ConnectionClosed& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<CMsgSteamSockets_UDP_ConnectionClosed>(&CMsgSteamSockets_UDP_ConnectionClosed_globals_);
  }
  static constexpr int kIndexInFileMessages = 4;
  friend void swap(CMsgSteamSockets_UDP_ConnectionClosed& a, CMsgSteamSockets_UDP_ConnectionClosed& b) { a.Swap(&b); }
  inline void Swap(CMsgSteamSockets_UDP_ConnectionClosed* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSteamSockets_UDP_ConnectionClosed* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] CMsgSteamSockets_UDP_ConnectionClosed* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<CMsgSteamSockets_UDP_ConnectionClosed>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const CMsgSteamSockets_UDP_ConnectionClosed& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const CMsgSteamSockets_UDP_ConnectionClosed& from) { CMsgSteamSockets_UDP_ConnectionClosed::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(CMsgSteamSockets_UDP_ConnectionClosed* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "CMsgSteamSockets_UDP_ConnectionClosed"; }

  explicit CMsgSteamSockets_UDP_ConnectionClosed(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  CMsgSteamSockets_UDP_ConnectionClosed(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CMsgSteamSockets_UDP_ConnectionClosed& from);
  CMsgSteamSockets_UDP_ConnectionClosed(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CMsgSteamSockets_UDP_ConnectionClosed&& from) noexcept
      : CMsgSteamSockets_UDP_ConnectionClosed(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kDebugFieldNumber = 2,
    kReasonCodeFieldNumber = 3,
    kToConnectionIdFieldNumber = 4,
    kFromConnectionIdFieldNumber = 5,
  };
  // optional string debug = 2;
  [[nodiscard]] bool has_debug()
      const;
  void clear_debug() ;
  [[nodiscard]] const ::std::string& debug() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_debug(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_debug();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_debug();
  void set_allocated_debug(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_debug() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_debug(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_debug();

  public:
  // optional uint32 reason_code = 3;
  [[nodiscard]] bool has_reason_code()
      const;
  void clear_reason_code() ;
  [[nodiscard]] ::uint32_t reason_code() const;
  void set_reason_code(::uint32_t value);

  private:
  ::uint32_t _internal_reason_code() const;
  void _internal_set_reason_code(::uint32_t value);

  public:
  // optional fixed32 to_connection_id = 4;
  [[nodiscard]] bool has_to_connection_id()
      const;
  void clear_to_connection_id() ;
  [[nodiscard]] ::uint32_t to_connection_id() const;
  void set_to_connection_id(::uint32_t value);

  private:
  ::uint32_t _internal_to_connection_id() const;
  void _internal_set_to_connection_id(::uint32_t value);

  public:
  // optional fixed32 from_connection_id = 5;
  [[nodiscard]] bool has_from_connection_id()
      const;
  void clear_from_connection_id() ;
  [[nodiscard]] ::uint32_t from_connection_id() const;
  void set_from_connection_id(::uint32_t value);

  private:
  ::uint32_t _internal_from_connection_id() const;
  void _internal_set_from_connection_id(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:CMsgSteamSockets_UDP_ConnectionClosed)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 4,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const CMsgSteamSockets_UDP_ConnectionClosed& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr debug_;
    ::uint32_t reason_code_;
    ::uint32_t to_connection_id_;
    ::uint32_t from_connection_id_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_steamnetworkingsockets_5fmessages_5fudp_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED CMsgSteamSockets_UDP_ChallengeRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:CMsgSteamSockets_UDP_ChallengeRequest) */ {
 public:
  inline CMsgSteamSockets_UDP_ChallengeRequest() : CMsgSteamSockets_UDP_ChallengeRequest(nullptr) {}
  ~CMsgSteamSockets_UDP_ChallengeRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(CMsgSteamSockets_UDP_ChallengeRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(CMsgSteamSockets_UDP_ChallengeRequest));
  }
#endif

  template <typename = void>
  explicit constexpr CMsgSteamSockets_UDP_ChallengeRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline CMsgSteamSockets_UDP_ChallengeRequest(const CMsgSteamSockets_UDP_ChallengeRequest& from) : CMsgSteamSockets_UDP_ChallengeRequest(nullptr, from) {}
  inline CMsgSteamSockets_UDP_ChallengeRequest(CMsgSteamSockets_UDP_ChallengeRequest&& from) noexcept : CMsgSteamSockets_UDP_ChallengeRequest(nullptr, ::std::move(from)) {}
  inline CMsgSteamSockets_UDP_ChallengeRequest& operator=(const CMsgSteamSockets_UDP_ChallengeRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSteamSockets_UDP_ChallengeRequest& operator=(CMsgSteamSockets_UDP_ChallengeRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const CMsgSteamSockets_UDP_ChallengeRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<CMsgSteamSockets_UDP_ChallengeRequest>(&CMsgSteamSockets_UDP_ChallengeRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 0;
  friend void swap(CMsgSteamSockets_UDP_ChallengeRequest& a, CMsgSteamSockets_UDP_ChallengeRequest& b) { a.Swap(&b); }
  inline void Swap(CMsgSteamSockets_UDP_ChallengeRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSteamSockets_UDP_ChallengeRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] CMsgSteamSockets_UDP_ChallengeRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<CMsgSteamSockets_UDP_ChallengeRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const CMsgSteamSockets_UDP_ChallengeRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const CMsgSteamSockets_UDP_ChallengeRequest& from) { CMsgSteamSockets_UDP_ChallengeRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(CMsgSteamSockets_UDP_ChallengeRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "CMsgSteamSockets_UDP_ChallengeRequest"; }

  explicit CMsgSteamSockets_UDP_ChallengeRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  CMsgSteamSockets_UDP_ChallengeRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CMsgSteamSockets_UDP_ChallengeRequest& from);
  CMsgSteamSockets_UDP_ChallengeRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CMsgSteamSockets_UDP_ChallengeRequest&& from) noexcept
      : CMsgSteamSockets_UDP_ChallengeRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kConnectionIdFieldNumber = 1,
    kProtocolVersionFieldNumber = 4,
    kMyTimestampFieldNumber = 3,
  };
  // optional fixed32 connection_id = 1;
  [[nodiscard]] bool has_connection_id()
      const;
  void clear_connection_id() ;
  [[nodiscard]] ::uint32_t connection_id() const;
  void set_connection_id(::uint32_t value);

  private:
  ::uint32_t _internal_connection_id() const;
  void _internal_set_connection_id(::uint32_t value);

  public:
  // optional uint32 protocol_version = 4;
  [[nodiscard]] bool has_protocol_version()
      const;
  void clear_protocol_version() ;
  [[nodiscard]] ::uint32_t protocol_version() const;
  void set_protocol_version(::uint32_t value);

  private:
  ::uint32_t _internal_protocol_version() const;
  void _internal_set_protocol_version(::uint32_t value);

  public:
  // optional fixed64 my_timestamp = 3;
  [[nodiscard]] bool has_my_timestamp()
      const;
  void clear_my_timestamp() ;
  [[nodiscard]] ::uint64_t my_timestamp() const;
  void set_my_timestamp(::uint64_t value);

  private:
  ::uint64_t _internal_my_timestamp() const;
  void _internal_set_my_timestamp(::uint64_t value);

  public:
  // @@protoc_insertion_point(class_scope:CMsgSteamSockets_UDP_ChallengeRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 3,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const CMsgSteamSockets_UDP_ChallengeRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::uint32_t connection_id_;
    ::uint32_t protocol_version_;
    ::uint64_t my_timestamp_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_steamnetworkingsockets_5fmessages_5fudp_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED CMsgSteamSockets_UDP_ChallengeReply final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:CMsgSteamSockets_UDP_ChallengeReply) */ {
 public:
  inline CMsgSteamSockets_UDP_ChallengeReply() : CMsgSteamSockets_UDP_ChallengeReply(nullptr) {}
  ~CMsgSteamSockets_UDP_ChallengeReply() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(CMsgSteamSockets_UDP_ChallengeReply* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(CMsgSteamSockets_UDP_ChallengeReply));
  }
#endif

  template <typename = void>
  explicit constexpr CMsgSteamSockets_UDP_ChallengeReply(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline CMsgSteamSockets_UDP_ChallengeReply(const CMsgSteamSockets_UDP_ChallengeReply& from) : CMsgSteamSockets_UDP_ChallengeReply(nullptr, from) {}
  inline CMsgSteamSockets_UDP_ChallengeReply(CMsgSteamSockets_UDP_ChallengeReply&& from) noexcept : CMsgSteamSockets_UDP_ChallengeReply(nullptr, ::std::move(from)) {}
  inline CMsgSteamSockets_UDP_ChallengeReply& operator=(const CMsgSteamSockets_UDP_ChallengeReply& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSteamSockets_UDP_ChallengeReply& operator=(CMsgSteamSockets_UDP_ChallengeReply&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const CMsgSteamSockets_UDP_ChallengeReply& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<CMsgSteamSockets_UDP_ChallengeReply>(&CMsgSteamSockets_UDP_ChallengeReply_globals_);
  }
  static constexpr int kIndexInFileMessages = 1;
  friend void swap(CMsgSteamSockets_UDP_ChallengeReply& a, CMsgSteamSockets_UDP_ChallengeReply& b) { a.Swap(&b); }
  inline void Swap(CMsgSteamSockets_UDP_ChallengeReply* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSteamSockets_UDP_ChallengeReply* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] CMsgSteamSockets_UDP_ChallengeReply* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<CMsgSteamSockets_UDP_ChallengeReply>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const CMsgSteamSockets_UDP_ChallengeReply& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const CMsgSteamSockets_UDP_ChallengeReply& from) { CMsgSteamSockets_UDP_ChallengeReply::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(CMsgSteamSockets_UDP_ChallengeReply* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "CMsgSteamSockets_UDP_ChallengeReply"; }

  explicit CMsgSteamSockets_UDP_ChallengeReply(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  CMsgSteamSockets_UDP_ChallengeReply(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CMsgSteamSockets_UDP_ChallengeReply& from);
  CMsgSteamSockets_UDP_ChallengeReply(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CMsgSteamSockets_UDP_ChallengeReply&& from) noexcept
      : CMsgSteamSockets_UDP_ChallengeReply(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kChallengeFieldNumber = 2,
    kConnectionIdFieldNumber = 1,
    kProtocolVersionFieldNumber = 4,
    kYourTimestampFieldNumber = 3,
  };
  // optional fixed64 challenge = 2;
  [[nodiscard]] bool has_challenge()
      const;
  void clear_challenge() ;
  [[nodiscard]] ::uint64_t challenge() const;
  void set_challenge(::uint64_t value);

  private:
  ::uint64_t _internal_challenge() const;
  void _internal_set_challenge(::uint64_t value);

  public:
  // optional fixed32 connection_id = 1;
  [[nodiscard]] bool has_connection_id()
      const;
  void clear_connection_id() ;
  [[nodiscard]] ::uint32_t connection_id() const;
  void set_connection_id(::uint32_t value);

  private:
  ::uint32_t _internal_connection_id() const;
  void _internal_set_connection_id(::uint32_t value);

  public:
  // optional uint32 protocol_version = 4;
  [[nodiscard]] bool has_protocol_version()
      const;
  void clear_protocol_version() ;
  [[nodiscard]] ::uint32_t protocol_version() const;
  void set_protocol_version(::uint32_t value);

  private:
  ::uint32_t _internal_protocol_version() const;
  void _internal_set_protocol_version(::uint32_t value);

  public:
  // optional fixed64 your_timestamp = 3;
  [[nodiscard]] bool has_your_timestamp()
      const;
  void clear_your_timestamp() ;
  [[nodiscard]] ::uint64_t your_timestamp() const;
  void set_your_timestamp(::uint64_t value);

  private:
  ::uint64_t _internal_your_timestamp() const;
  void _internal_set_your_timestamp(::uint64_t value);

  public:
  // @@protoc_insertion_point(class_scope:CMsgSteamSockets_UDP_ChallengeReply)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 4,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const CMsgSteamSockets_UDP_ChallengeReply& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::uint64_t challenge_;
    ::uint32_t connection_id_;
    ::uint32_t protocol_version_;
    ::uint64_t your_timestamp_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_steamnetworkingsockets_5fmessages_5fudp_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED CMsgSteamSockets_UDP_ConnectRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:CMsgSteamSockets_UDP_ConnectRequest) */ {
 public:
  inline CMsgSteamSockets_UDP_ConnectRequest() : CMsgSteamSockets_UDP_ConnectRequest(nullptr) {}
  ~CMsgSteamSockets_UDP_ConnectRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(CMsgSteamSockets_UDP_ConnectRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(CMsgSteamSockets_UDP_ConnectRequest));
  }
#endif

  template <typename = void>
  explicit constexpr CMsgSteamSockets_UDP_ConnectRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline CMsgSteamSockets_UDP_ConnectRequest(const CMsgSteamSockets_UDP_ConnectRequest& from) : CMsgSteamSockets_UDP_ConnectRequest(nullptr, from) {}
  inline CMsgSteamSockets_UDP_ConnectRequest(CMsgSteamSockets_UDP_ConnectRequest&& from) noexcept : CMsgSteamSockets_UDP_ConnectRequest(nullptr, ::std::move(from)) {}
  inline CMsgSteamSockets_UDP_ConnectRequest& operator=(const CMsgSteamSockets_UDP_ConnectRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSteamSockets_UDP_ConnectRequest& operator=(CMsgSteamSockets_UDP_ConnectRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const CMsgSteamSockets_UDP_ConnectRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<CMsgSteamSockets_UDP_ConnectRequest>(&CMsgSteamSockets_UDP_ConnectRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 2;
  friend void swap(CMsgSteamSockets_UDP_ConnectRequest& a, CMsgSteamSockets_UDP_ConnectRequest& b) { a.Swap(&b); }
  inline void Swap(CMsgSteamSockets_UDP_ConnectRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSteamSockets_UDP_ConnectRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] CMsgSteamSockets_UDP_ConnectRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<CMsgSteamSockets_UDP_ConnectRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const CMsgSteamSockets_UDP_ConnectRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const CMsgSteamSockets_UDP_ConnectRequest& from) { CMsgSteamSockets_UDP_ConnectRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(CMsgSteamSockets_UDP_ConnectRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "CMsgSteamSockets_UDP_ConnectRequest"; }

  explicit CMsgSteamSockets_UDP_ConnectRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  CMsgSteamSockets_UDP_ConnectRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CMsgSteamSockets_UDP_ConnectRequest& from);
  CMsgSteamSockets_UDP_ConnectRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CMsgSteamSockets_UDP_ConnectRequest&& from) noexcept
      : CMsgSteamSockets_UDP_ConnectRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kIdentityStringFieldNumber = 10,
    kCertFieldNumber = 4,
    kCryptFieldNumber = 7,
    kLegacyIdentityBinaryFieldNumber = 9,
    kChallengeFieldNumber = 2,
    kLegacyClientSteamIdFieldNumber = 3,
    kClientConnectionIdFieldNumber = 1,
    kPingEstMsFieldNumber = 6,
    kMyTimestampFieldNumber = 5,
    kLegacyProtocolVersionFieldNumber = 8,
  };
  // optional string identity_string = 10;
  [[nodiscard]] bool has_identity_string()
      const;
  void clear_identity_string() ;
  [[nodiscard]] const ::std::string& identity_string() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_identity_string(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_identity_string();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_identity_string();
  void set_allocated_identity_string(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_identity_string() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_identity_string(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_identity_string();

  public:
  // optional .CMsgSteamDatagramCertificateSigned cert = 4;
  [[nodiscard]] bool has_cert()
      const;
  void clear_cert() ;
  [[nodiscard]] const ::CMsgSteamDatagramCertificateSigned& cert() const;
  [[nodiscard]] ::CMsgSteamDatagramCertificateSigned* PROTOBUF_NULLABLE release_cert();
  ::CMsgSteamDatagramCertificateSigned* PROTOBUF_NONNULL mutable_cert();
  void set_allocated_cert(::CMsgSteamDatagramCertificateSigned* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_cert(::CMsgSteamDatagramCertificateSigned* PROTOBUF_NULLABLE value);
  ::CMsgSteamDatagramCertificateSigned* PROTOBUF_NULLABLE unsafe_arena_release_cert();

  private:
  const ::CMsgSteamDatagramCertificateSigned& _internal_cert() const;
  ::CMsgSteamDatagramCertificateSigned* PROTOBUF_NONNULL _internal_mutable_cert();

  public:
  // optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 7;
  [[nodiscard]] bool has_crypt()
      const;
  void clear_crypt() ;
  [[nodiscard]] const ::CMsgSteamDatagramSessionCryptInfoSigned& crypt() const;
  [[nodiscard]] ::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NULLABLE release_crypt();
  ::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NONNULL mutable_crypt();
  void set_allocated_crypt(::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_crypt(::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NULLABLE value);
  ::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NULLABLE unsafe_arena_release_crypt();

  private:
  const ::CMsgSteamDatagramSessionCryptInfoSigned& _internal_crypt() const;
  ::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NONNULL _internal_mutable_crypt();

  public:
  // optional .CMsgSteamNetworkingIdentityLegacyBinary legacy_identity_binary = 9;
  [[nodiscard]] bool has_legacy_identity_binary()
      const;
  void clear_legacy_identity_binary() ;
  [[nodiscard]] const ::CMsgSteamNetworkingIdentityLegacyBinary& legacy_identity_binary() const;
  [[nodiscard]] ::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NULLABLE release_legacy_identity_binary();
  ::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NONNULL mutable_legacy_identity_binary();
  void set_allocated_legacy_identity_binary(::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_legacy_identity_binary(::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NULLABLE value);
  ::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NULLABLE unsafe_arena_release_legacy_identity_binary();

  private:
  const ::CMsgSteamNetworkingIdentityLegacyBinary& _internal_legacy_identity_binary() const;
  ::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NONNULL _internal_mutable_legacy_identity_binary();

  public:
  // optional fixed64 challenge = 2;
  [[nodiscard]] bool has_challenge()
      const;
  void clear_challenge() ;
  [[nodiscard]] ::uint64_t challenge() const;
  void set_challenge(::uint64_t value);

  private:
  ::uint64_t _internal_challenge() const;
  void _internal_set_challenge(::uint64_t value);

  public:
  // optional fixed64 legacy_client_steam_id = 3;
  [[nodiscard]] bool has_legacy_client_steam_id()
      const;
  void clear_legacy_client_steam_id() ;
  [[nodiscard]] ::uint64_t legacy_client_steam_id() const;
  void set_legacy_client_steam_id(::uint64_t value);

  private:
  ::uint64_t _internal_legacy_client_steam_id() const;
  void _internal_set_legacy_client_steam_id(::uint64_t value);

  public:
  // optional fixed32 client_connection_id = 1;
  [[nodiscard]] bool has_client_connection_id()
      const;
  void clear_client_connection_id() ;
  [[nodiscard]] ::uint32_t client_connection_id() const;
  void set_client_connection_id(::uint32_t value);

  private:
  ::uint32_t _internal_client_connection_id() const;
  void _internal_set_client_connection_id(::uint32_t value);

  public:
  // optional uint32 ping_est_ms = 6;
  [[nodiscard]] bool has_ping_est_ms()
      const;
  void clear_ping_est_ms() ;
  [[nodiscard]] ::uint32_t ping_est_ms() const;
  void set_ping_est_ms(::uint32_t value);

  private:
  ::uint32_t _internal_ping_est_ms() const;
  void _internal_set_ping_est_ms(::uint32_t value);

  public:
  // optional fixed64 my_timestamp = 5;
  [[nodiscard]] bool has_my_timestamp()
      const;
  void clear_my_timestamp() ;
  [[nodiscard]] ::uint64_t my_timestamp() const;
  void set_my_timestamp(::uint64_t value);

  private:
  ::uint64_t _internal_my_timestamp() const;
  void _internal_set_my_timestamp(::uint64_t value);

  public:
  // optional uint32 legacy_protocol_version = 8;
  [[nodiscard]] bool has_legacy_protocol_version()
      const;
  void clear_legacy_protocol_version() ;
  [[nodiscard]] ::uint32_t legacy_protocol_version() const;
  void set_legacy_protocol_version(::uint32_t value);

  private:
  ::uint32_t _internal_legacy_protocol_version() const;
  void _internal_set_legacy_protocol_version(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:CMsgSteamSockets_UDP_ConnectRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<4, 10,
                          3, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const CMsgSteamSockets_UDP_ConnectRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr identity_string_;
    ::CMsgSteamDatagramCertificateSigned* PROTOBUF_NULLABLE cert_;
    ::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NULLABLE crypt_;
    ::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NULLABLE legacy_identity_binary_;
    ::uint64_t challenge_;
    ::uint64_t legacy_client_steam_id_;
    ::uint32_t client_connection_id_;
    ::uint32_t ping_est_ms_;
    ::uint64_t my_timestamp_;
    ::uint32_t legacy_protocol_version_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_steamnetworkingsockets_5fmessages_5fudp_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED CMsgSteamSockets_UDP_ConnectOK final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:CMsgSteamSockets_UDP_ConnectOK) */ {
 public:
  inline CMsgSteamSockets_UDP_ConnectOK() : CMsgSteamSockets_UDP_ConnectOK(nullptr) {}
  ~CMsgSteamSockets_UDP_ConnectOK() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(CMsgSteamSockets_UDP_ConnectOK* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(CMsgSteamSockets_UDP_ConnectOK));
  }
#endif

  template <typename = void>
  explicit constexpr CMsgSteamSockets_UDP_ConnectOK(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline CMsgSteamSockets_UDP_ConnectOK(const CMsgSteamSockets_UDP_ConnectOK& from) : CMsgSteamSockets_UDP_ConnectOK(nullptr, from) {}
  inline CMsgSteamSockets_UDP_ConnectOK(CMsgSteamSockets_UDP_ConnectOK&& from) noexcept : CMsgSteamSockets_UDP_ConnectOK(nullptr, ::std::move(from)) {}
  inline CMsgSteamSockets_UDP_ConnectOK& operator=(const CMsgSteamSockets_UDP_ConnectOK& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSteamSockets_UDP_ConnectOK& operator=(CMsgSteamSockets_UDP_ConnectOK&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const CMsgSteamSockets_UDP_ConnectOK& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<CMsgSteamSockets_UDP_ConnectOK>(&CMsgSteamSockets_UDP_ConnectOK_globals_);
  }
  static constexpr int kIndexInFileMessages = 3;
  friend void swap(CMsgSteamSockets_UDP_ConnectOK& a, CMsgSteamSockets_UDP_ConnectOK& b) { a.Swap(&b); }
  inline void Swap(CMsgSteamSockets_UDP_ConnectOK* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSteamSockets_UDP_ConnectOK* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] CMsgSteamSockets_UDP_ConnectOK* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<CMsgSteamSockets_UDP_ConnectOK>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const CMsgSteamSockets_UDP_ConnectOK& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const CMsgSteamSockets_UDP_ConnectOK& from) { CMsgSteamSockets_UDP_ConnectOK::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(CMsgSteamSockets_UDP_ConnectOK* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "CMsgSteamSockets_UDP_ConnectOK"; }

  explicit CMsgSteamSockets_UDP_ConnectOK(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  CMsgSteamSockets_UDP_ConnectOK(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CMsgSteamSockets_UDP_ConnectOK& from);
  CMsgSteamSockets_UDP_ConnectOK(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CMsgSteamSockets_UDP_ConnectOK&& from) noexcept
      : CMsgSteamSockets_UDP_ConnectOK(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kIdentityStringFieldNumber = 11,
    kCryptFieldNumber = 7,
    kCertFieldNumber = 8,
    kLegacyIdentityBinaryFieldNumber = 10,
    kLegacyServerSteamIdFieldNumber = 2,
    kClientConnectionIdFieldNumber = 1,
    kDelayTimeUsecFieldNumber = 4,
    kYourTimestampFieldNumber = 3,
    kServerConnectionIdFieldNumber = 5,
  };
  // optional string identity_string = 11;
  [[nodiscard]] bool has_identity_string()
      const;
  void clear_identity_string() ;
  [[nodiscard]] const ::std::string& identity_string() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_identity_string(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_identity_string();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_identity_string();
  void set_allocated_identity_string(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_identity_string() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_identity_string(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_identity_string();

  public:
  // optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 7;
  [[nodiscard]] bool has_crypt()
      const;
  void clear_crypt() ;
  [[nodiscard]] const ::CMsgSteamDatagramSessionCryptInfoSigned& crypt() const;
  [[nodiscard]] ::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NULLABLE release_crypt();
  ::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NONNULL mutable_crypt();
  void set_allocated_crypt(::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_crypt(::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NULLABLE value);
  ::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NULLABLE unsafe_arena_release_crypt();

  private:
  const ::CMsgSteamDatagramSessionCryptInfoSigned& _internal_crypt() const;
  ::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NONNULL _internal_mutable_crypt();

  public:
  // optional .CMsgSteamDatagramCertificateSigned cert = 8;
  [[nodiscard]] bool has_cert()
      const;
  void clear_cert() ;
  [[nodiscard]] const ::CMsgSteamDatagramCertificateSigned& cert() const;
  [[nodiscard]] ::CMsgSteamDatagramCertificateSigned* PROTOBUF_NULLABLE release_cert();
  ::CMsgSteamDatagramCertificateSigned* PROTOBUF_NONNULL mutable_cert();
  void set_allocated_cert(::CMsgSteamDatagramCertificateSigned* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_cert(::CMsgSteamDatagramCertificateSigned* PROTOBUF_NULLABLE value);
  ::CMsgSteamDatagramCertificateSigned* PROTOBUF_NULLABLE unsafe_arena_release_cert();

  private:
  const ::CMsgSteamDatagramCertificateSigned& _internal_cert() const;
  ::CMsgSteamDatagramCertificateSigned* PROTOBUF_NONNULL _internal_mutable_cert();

  public:
  // optional .CMsgSteamNetworkingIdentityLegacyBinary legacy_identity_binary = 10;
  [[nodiscard]] bool has_legacy_identity_binary()
      const;
  void clear_legacy_identity_binary() ;
  [[nodiscard]] const ::CMsgSteamNetworkingIdentityLegacyBinary& legacy_identity_binary() const;
  [[nodiscard]] ::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NULLABLE release_legacy_identity_binary();
  ::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NONNULL mutable_legacy_identity_binary();
  void set_allocated_legacy_identity_binary(::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_legacy_identity_binary(::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NULLABLE value);
  ::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NULLABLE unsafe_arena_release_legacy_identity_binary();

  private:
  const ::CMsgSteamNetworkingIdentityLegacyBinary& _internal_legacy_identity_binary() const;
  ::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NONNULL _internal_mutable_legacy_identity_binary();

  public:
  // optional fixed64 legacy_server_steam_id = 2;
  [[nodiscard]] bool has_legacy_server_steam_id()
      const;
  void clear_legacy_server_steam_id() ;
  [[nodiscard]] ::uint64_t legacy_server_steam_id() const;
  void set_legacy_server_steam_id(::uint64_t value);

  private:
  ::uint64_t _internal_legacy_server_steam_id() const;
  void _internal_set_legacy_server_steam_id(::uint64_t value);

  public:
  // optional fixed32 client_connection_id = 1;
  [[nodiscard]] bool has_client_connection_id()
      const;
  void clear_client_connection_id() ;
  [[nodiscard]] ::uint32_t client_connection_id() const;
  void set_client_connection_id(::uint32_t value);

  private:
  ::uint32_t _internal_client_connection_id() const;
  void _internal_set_client_connection_id(::uint32_t value);

  public:
  // optional uint32 delay_time_usec = 4;
  [[nodiscard]] bool has_delay_time_usec()
      const;
  void clear_delay_time_usec() ;
  [[nodiscard]] ::uint32_t delay_time_usec() const;
  void set_delay_time_usec(::uint32_t value);

  private:
  ::uint32_t _internal_delay_time_usec() const;
  void _internal_set_delay_time_usec(::uint32_t value);

  public:
  // optional fixed64 your_timestamp = 3;
  [[nodiscard]] bool has_your_timestamp()
      const;
  void clear_your_timestamp() ;
  [[nodiscard]] ::uint64_t your_timestamp() const;
  void set_your_timestamp(::uint64_t value);

  private:
  ::uint64_t _internal_your_timestamp() const;
  void _internal_set_your_timestamp(::uint64_t value);

  public:
  // optional fixed32 server_connection_id = 5;
  [[nodiscard]] bool has_server_connection_id()
      const;
  void clear_server_connection_id() ;
  [[nodiscard]] ::uint32_t server_connection_id() const;
  void set_server_connection_id(::uint32_t value);

  private:
  ::uint32_t _internal_server_connection_id() const;
  void _internal_set_server_connection_id(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:CMsgSteamSockets_UDP_ConnectOK)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<4, 9,
                          3, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const CMsgSteamSockets_UDP_ConnectOK& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr identity_string_;
    ::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NULLABLE crypt_;
    ::CMsgSteamDatagramCertificateSigned* PROTOBUF_NULLABLE cert_;
    ::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NULLABLE legacy_identity_binary_;
    ::uint64_t legacy_server_steam_id_;
    ::uint32_t client_connection_id_;
    ::uint32_t delay_time_usec_;
    ::uint64_t your_timestamp_;
    ::uint32_t server_connection_id_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_steamnetworkingsockets_5fmessages_5fudp_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED CMsgSteamSockets_UDP_Stats final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:CMsgSteamSockets_UDP_Stats) */ {
 public:
  inline CMsgSteamSockets_UDP_Stats() : CMsgSteamSockets_UDP_Stats(nullptr) {}
  ~CMsgSteamSockets_UDP_Stats() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(CMsgSteamSockets_UDP_Stats* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(CMsgSteamSockets_UDP_Stats));
  }
#endif

  template <typename = void>
  explicit constexpr CMsgSteamSockets_UDP_Stats(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline CMsgSteamSockets_UDP_Stats(const CMsgSteamSockets_UDP_Stats& from) : CMsgSteamSockets_UDP_Stats(nullptr, from) {}
  inline CMsgSteamSockets_UDP_Stats(CMsgSteamSockets_UDP_Stats&& from) noexcept : CMsgSteamSockets_UDP_Stats(nullptr, ::std::move(from)) {}
  inline CMsgSteamSockets_UDP_Stats& operator=(const CMsgSteamSockets_UDP_Stats& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSteamSockets_UDP_Stats& operator=(CMsgSteamSockets_UDP_Stats&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const CMsgSteamSockets_UDP_Stats& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<CMsgSteamSockets_UDP_Stats>(&CMsgSteamSockets_UDP_Stats_globals_);
  }
  static constexpr int kIndexInFileMessages = 6;
  friend void swap(CMsgSteamSockets_UDP_Stats& a, CMsgSteamSockets_UDP_Stats& b) { a.Swap(&b); }
  inline void Swap(CMsgSteamSockets_UDP_Stats* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSteamSockets_UDP_Stats* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] CMsgSteamSockets_UDP_Stats* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<CMsgSteamSockets_UDP_Stats>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const CMsgSteamSockets_UDP_Stats& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const CMsgSteamSockets_UDP_Stats& from) { CMsgSteamSockets_UDP_Stats::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(CMsgSteamSockets_UDP_Stats* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "CMsgSteamSockets_UDP_Stats"; }

  explicit CMsgSteamSockets_UDP_Stats(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  CMsgSteamSockets_UDP_Stats(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CMsgSteamSockets_UDP_Stats& from);
  CMsgSteamSockets_UDP_Stats(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CMsgSteamSockets_UDP_Stats&& from) noexcept
      : CMsgSteamSockets_UDP_Stats(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------
  using Flags = CMsgSteamSockets_UDP_Stats_Flags;
  static constexpr Flags ACK_REQUEST_E2E = CMsgSteamSockets_UDP_Stats_Flags_ACK_REQUEST_E2E;
  static constexpr Flags ACK_REQUEST_IMMEDIATE = CMsgSteamSockets_UDP_Stats_Flags_ACK_REQUEST_IMMEDIATE;
  static constexpr Flags NOT_PRIMARY_TRANSPORT_E2E = CMsgSteamSockets_UDP_Stats_Flags_NOT_PRIMARY_TRANSPORT_E2E;
  [[nodiscard]] static inline bool Flags_IsValid(int value) {
    return CMsgSteamSockets_UDP_Stats_Flags_IsValid(value);
  }
  static constexpr Flags Flags_MIN = CMsgSteamSockets_UDP_Stats_Flags_Flags_MIN;
  static constexpr Flags Flags_MAX = CMsgSteamSockets_UDP_Stats_Flags_Flags_MAX;
  static constexpr int Flags_ARRAYSIZE = CMsgSteamSockets_UDP_Stats_Flags_Flags_ARRAYSIZE;
  static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL Flags_descriptor() {
    return CMsgSteamSockets_UDP_Stats_Flags_descriptor();
  }
  template <typename T>
  [[nodiscard]] static inline const ::std::string& Flags_Name(T value) {
    return CMsgSteamSockets_UDP_Stats_Flags_Name(value);
  }
  [[nodiscard]] static inline bool Flags_Parse(
      ::absl::string_view name, Flags* PROTOBUF_NONNULL value) {
    return CMsgSteamSockets_UDP_Stats_Flags_Parse(name, value);
  }

  // accessors -------------------------------------------------------
  enum : int {
    kStatsFieldNumber = 1,
    kFlagsFieldNumber = 3,
  };
  // optional .CMsgSteamDatagramConnectionQuality stats = 1;
  [[nodiscard]] bool has_stats()
      const;
  void clear_stats() ;
  [[nodiscard]] const ::CMsgSteamDatagramConnectionQuality& stats() const;
  [[nodiscard]] ::CMsgSteamDatagramConnectionQuality* PROTOBUF_NULLABLE release_stats();
  ::CMsgSteamDatagramConnectionQuality* PROTOBUF_NONNULL mutable_stats();
  void set_allocated_stats(::CMsgSteamDatagramConnectionQuality* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_stats(::CMsgSteamDatagramConnectionQuality* PROTOBUF_NULLABLE value);
  ::CMsgSteamDatagramConnectionQuality* PROTOBUF_NULLABLE unsafe_arena_release_stats();

  private:
  const ::CMsgSteamDatagramConnectionQuality& _internal_stats() const;
  ::CMsgSteamDatagramConnectionQuality* PROTOBUF_NONNULL _internal_mutable_stats();

  public:
  // optional uint32 flags = 3;
  [[nodiscard]] bool has_flags()
      const;
  void clear_flags() ;
  [[nodiscard]] ::uint32_t flags() const;
  void set_flags(::uint32_t value);

  private:
  ::uint32_t _internal_flags() const;
  void _internal_set_flags(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:CMsgSteamSockets_UDP_Stats)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 2,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const CMsgSteamSockets_UDP_Stats& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::CMsgSteamDatagramConnectionQuality* PROTOBUF_NULLABLE stats_;
    ::uint32_t flags_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_steamnetworkingsockets_5fmessages_5fudp_2eproto;
};

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




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


#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// -------------------------------------------------------------------

// CMsgSteamSockets_UDP_ChallengeRequest

// optional fixed32 connection_id = 1;
inline bool CMsgSteamSockets_UDP_ChallengeRequest::has_connection_id() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  return value;
}
inline void CMsgSteamSockets_UDP_ChallengeRequest::clear_connection_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.connection_id_ = 0u;
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::uint32_t CMsgSteamSockets_UDP_ChallengeRequest::connection_id() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ChallengeRequest.connection_id)
  return _internal_connection_id();
}
inline void CMsgSteamSockets_UDP_ChallengeRequest::set_connection_id(::uint32_t value) {
  _internal_set_connection_id(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ChallengeRequest.connection_id)
}
inline ::uint32_t CMsgSteamSockets_UDP_ChallengeRequest::_internal_connection_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.connection_id_;
}
inline void CMsgSteamSockets_UDP_ChallengeRequest::_internal_set_connection_id(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.connection_id_ = value;
}

// optional fixed64 my_timestamp = 3;
inline bool CMsgSteamSockets_UDP_ChallengeRequest::has_my_timestamp() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  return value;
}
inline void CMsgSteamSockets_UDP_ChallengeRequest::clear_my_timestamp() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.my_timestamp_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline ::uint64_t CMsgSteamSockets_UDP_ChallengeRequest::my_timestamp() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ChallengeRequest.my_timestamp)
  return _internal_my_timestamp();
}
inline void CMsgSteamSockets_UDP_ChallengeRequest::set_my_timestamp(::uint64_t value) {
  _internal_set_my_timestamp(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ChallengeRequest.my_timestamp)
}
inline ::uint64_t CMsgSteamSockets_UDP_ChallengeRequest::_internal_my_timestamp() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.my_timestamp_;
}
inline void CMsgSteamSockets_UDP_ChallengeRequest::_internal_set_my_timestamp(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.my_timestamp_ = value;
}

// optional uint32 protocol_version = 4;
inline bool CMsgSteamSockets_UDP_ChallengeRequest::has_protocol_version() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  return value;
}
inline void CMsgSteamSockets_UDP_ChallengeRequest::clear_protocol_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.protocol_version_ = 0u;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::uint32_t CMsgSteamSockets_UDP_ChallengeRequest::protocol_version() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ChallengeRequest.protocol_version)
  return _internal_protocol_version();
}
inline void CMsgSteamSockets_UDP_ChallengeRequest::set_protocol_version(::uint32_t value) {
  _internal_set_protocol_version(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ChallengeRequest.protocol_version)
}
inline ::uint32_t CMsgSteamSockets_UDP_ChallengeRequest::_internal_protocol_version() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.protocol_version_;
}
inline void CMsgSteamSockets_UDP_ChallengeRequest::_internal_set_protocol_version(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.protocol_version_ = value;
}

// -------------------------------------------------------------------

// CMsgSteamSockets_UDP_ChallengeReply

// optional fixed32 connection_id = 1;
inline bool CMsgSteamSockets_UDP_ChallengeReply::has_connection_id() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  return value;
}
inline void CMsgSteamSockets_UDP_ChallengeReply::clear_connection_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.connection_id_ = 0u;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::uint32_t CMsgSteamSockets_UDP_ChallengeReply::connection_id() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ChallengeReply.connection_id)
  return _internal_connection_id();
}
inline void CMsgSteamSockets_UDP_ChallengeReply::set_connection_id(::uint32_t value) {
  _internal_set_connection_id(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ChallengeReply.connection_id)
}
inline ::uint32_t CMsgSteamSockets_UDP_ChallengeReply::_internal_connection_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.connection_id_;
}
inline void CMsgSteamSockets_UDP_ChallengeReply::_internal_set_connection_id(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.connection_id_ = value;
}

// optional fixed64 challenge = 2;
inline bool CMsgSteamSockets_UDP_ChallengeReply::has_challenge() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  return value;
}
inline void CMsgSteamSockets_UDP_ChallengeReply::clear_challenge() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.challenge_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::uint64_t CMsgSteamSockets_UDP_ChallengeReply::challenge() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ChallengeReply.challenge)
  return _internal_challenge();
}
inline void CMsgSteamSockets_UDP_ChallengeReply::set_challenge(::uint64_t value) {
  _internal_set_challenge(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ChallengeReply.challenge)
}
inline ::uint64_t CMsgSteamSockets_UDP_ChallengeReply::_internal_challenge() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.challenge_;
}
inline void CMsgSteamSockets_UDP_ChallengeReply::_internal_set_challenge(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.challenge_ = value;
}

// optional fixed64 your_timestamp = 3;
inline bool CMsgSteamSockets_UDP_ChallengeReply::has_your_timestamp() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
  return value;
}
inline void CMsgSteamSockets_UDP_ChallengeReply::clear_your_timestamp() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.your_timestamp_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline ::uint64_t CMsgSteamSockets_UDP_ChallengeReply::your_timestamp() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ChallengeReply.your_timestamp)
  return _internal_your_timestamp();
}
inline void CMsgSteamSockets_UDP_ChallengeReply::set_your_timestamp(::uint64_t value) {
  _internal_set_your_timestamp(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ChallengeReply.your_timestamp)
}
inline ::uint64_t CMsgSteamSockets_UDP_ChallengeReply::_internal_your_timestamp() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.your_timestamp_;
}
inline void CMsgSteamSockets_UDP_ChallengeReply::_internal_set_your_timestamp(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.your_timestamp_ = value;
}

// optional uint32 protocol_version = 4;
inline bool CMsgSteamSockets_UDP_ChallengeReply::has_protocol_version() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  return value;
}
inline void CMsgSteamSockets_UDP_ChallengeReply::clear_protocol_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.protocol_version_ = 0u;
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline ::uint32_t CMsgSteamSockets_UDP_ChallengeReply::protocol_version() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ChallengeReply.protocol_version)
  return _internal_protocol_version();
}
inline void CMsgSteamSockets_UDP_ChallengeReply::set_protocol_version(::uint32_t value) {
  _internal_set_protocol_version(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ChallengeReply.protocol_version)
}
inline ::uint32_t CMsgSteamSockets_UDP_ChallengeReply::_internal_protocol_version() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.protocol_version_;
}
inline void CMsgSteamSockets_UDP_ChallengeReply::_internal_set_protocol_version(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.protocol_version_ = value;
}

// -------------------------------------------------------------------

// CMsgSteamSockets_UDP_ConnectRequest

// optional fixed32 client_connection_id = 1;
inline bool CMsgSteamSockets_UDP_ConnectRequest::has_client_connection_id() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000040U);
  return value;
}
inline void CMsgSteamSockets_UDP_ConnectRequest::clear_client_connection_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.client_connection_id_ = 0u;
  ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
}
inline ::uint32_t CMsgSteamSockets_UDP_ConnectRequest::client_connection_id() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectRequest.client_connection_id)
  return _internal_client_connection_id();
}
inline void CMsgSteamSockets_UDP_ConnectRequest::set_client_connection_id(::uint32_t value) {
  _internal_set_client_connection_id(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ConnectRequest.client_connection_id)
}
inline ::uint32_t CMsgSteamSockets_UDP_ConnectRequest::_internal_client_connection_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.client_connection_id_;
}
inline void CMsgSteamSockets_UDP_ConnectRequest::_internal_set_client_connection_id(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.client_connection_id_ = value;
}

// optional fixed64 challenge = 2;
inline bool CMsgSteamSockets_UDP_ConnectRequest::has_challenge() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U);
  return value;
}
inline void CMsgSteamSockets_UDP_ConnectRequest::clear_challenge() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.challenge_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
}
inline ::uint64_t CMsgSteamSockets_UDP_ConnectRequest::challenge() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectRequest.challenge)
  return _internal_challenge();
}
inline void CMsgSteamSockets_UDP_ConnectRequest::set_challenge(::uint64_t value) {
  _internal_set_challenge(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ConnectRequest.challenge)
}
inline ::uint64_t CMsgSteamSockets_UDP_ConnectRequest::_internal_challenge() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.challenge_;
}
inline void CMsgSteamSockets_UDP_ConnectRequest::_internal_set_challenge(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.challenge_ = value;
}

// optional fixed64 my_timestamp = 5;
inline bool CMsgSteamSockets_UDP_ConnectRequest::has_my_timestamp() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000100U);
  return value;
}
inline void CMsgSteamSockets_UDP_ConnectRequest::clear_my_timestamp() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.my_timestamp_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
}
inline ::uint64_t CMsgSteamSockets_UDP_ConnectRequest::my_timestamp() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectRequest.my_timestamp)
  return _internal_my_timestamp();
}
inline void CMsgSteamSockets_UDP_ConnectRequest::set_my_timestamp(::uint64_t value) {
  _internal_set_my_timestamp(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000100U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ConnectRequest.my_timestamp)
}
inline ::uint64_t CMsgSteamSockets_UDP_ConnectRequest::_internal_my_timestamp() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.my_timestamp_;
}
inline void CMsgSteamSockets_UDP_ConnectRequest::_internal_set_my_timestamp(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.my_timestamp_ = value;
}

// optional uint32 ping_est_ms = 6;
inline bool CMsgSteamSockets_UDP_ConnectRequest::has_ping_est_ms() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000080U);
  return value;
}
inline void CMsgSteamSockets_UDP_ConnectRequest::clear_ping_est_ms() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.ping_est_ms_ = 0u;
  ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
}
inline ::uint32_t CMsgSteamSockets_UDP_ConnectRequest::ping_est_ms() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectRequest.ping_est_ms)
  return _internal_ping_est_ms();
}
inline void CMsgSteamSockets_UDP_ConnectRequest::set_ping_est_ms(::uint32_t value) {
  _internal_set_ping_est_ms(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ConnectRequest.ping_est_ms)
}
inline ::uint32_t CMsgSteamSockets_UDP_ConnectRequest::_internal_ping_est_ms() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.ping_est_ms_;
}
inline void CMsgSteamSockets_UDP_ConnectRequest::_internal_set_ping_est_ms(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.ping_est_ms_ = value;
}

// optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 7;
inline bool CMsgSteamSockets_UDP_ConnectRequest::has_crypt() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.crypt_ != nullptr);
  return value;
}
inline const ::CMsgSteamDatagramSessionCryptInfoSigned& CMsgSteamSockets_UDP_ConnectRequest::_internal_crypt() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::CMsgSteamDatagramSessionCryptInfoSigned* p = _impl_.crypt_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::CMsgSteamDatagramSessionCryptInfoSigned>(&::CMsgSteamDatagramSessionCryptInfoSigned_globals_);
}
inline const ::CMsgSteamDatagramSessionCryptInfoSigned& CMsgSteamSockets_UDP_ConnectRequest::crypt() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectRequest.crypt)
  return _internal_crypt();
}
inline void CMsgSteamSockets_UDP_ConnectRequest::unsafe_arena_set_allocated_crypt(
    ::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.crypt_);
  }
  _impl_.crypt_ = reinterpret_cast<::CMsgSteamDatagramSessionCryptInfoSigned*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CMsgSteamSockets_UDP_ConnectRequest.crypt)
}
inline ::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NULLABLE CMsgSteamSockets_UDP_ConnectRequest::release_crypt() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::CMsgSteamDatagramSessionCryptInfoSigned* released = _impl_.crypt_;
  _impl_.crypt_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NULLABLE CMsgSteamSockets_UDP_ConnectRequest::unsafe_arena_release_crypt() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:CMsgSteamSockets_UDP_ConnectRequest.crypt)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::CMsgSteamDatagramSessionCryptInfoSigned* temp = _impl_.crypt_;
  _impl_.crypt_ = nullptr;
  return temp;
}
inline ::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NONNULL CMsgSteamSockets_UDP_ConnectRequest::_internal_mutable_crypt() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.crypt_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::CMsgSteamDatagramSessionCryptInfoSigned>(GetArena());
    _impl_.crypt_ = reinterpret_cast<::CMsgSteamDatagramSessionCryptInfoSigned*>(p);
  }
  return _impl_.crypt_;
}
inline ::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NONNULL CMsgSteamSockets_UDP_ConnectRequest::mutable_crypt()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::CMsgSteamDatagramSessionCryptInfoSigned* _msg = _internal_mutable_crypt();
  // @@protoc_insertion_point(field_mutable:CMsgSteamSockets_UDP_ConnectRequest.crypt)
  return _msg;
}
inline void CMsgSteamSockets_UDP_ConnectRequest::set_allocated_crypt(::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.crypt_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.crypt_ = reinterpret_cast<::CMsgSteamDatagramSessionCryptInfoSigned*>(value);
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamSockets_UDP_ConnectRequest.crypt)
}

// optional .CMsgSteamDatagramCertificateSigned cert = 4;
inline bool CMsgSteamSockets_UDP_ConnectRequest::has_cert() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.cert_ != nullptr);
  return value;
}
inline const ::CMsgSteamDatagramCertificateSigned& CMsgSteamSockets_UDP_ConnectRequest::_internal_cert() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::CMsgSteamDatagramCertificateSigned* p = _impl_.cert_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::CMsgSteamDatagramCertificateSigned>(&::CMsgSteamDatagramCertificateSigned_globals_);
}
inline const ::CMsgSteamDatagramCertificateSigned& CMsgSteamSockets_UDP_ConnectRequest::cert() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectRequest.cert)
  return _internal_cert();
}
inline void CMsgSteamSockets_UDP_ConnectRequest::unsafe_arena_set_allocated_cert(
    ::CMsgSteamDatagramCertificateSigned* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.cert_);
  }
  _impl_.cert_ = reinterpret_cast<::CMsgSteamDatagramCertificateSigned*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CMsgSteamSockets_UDP_ConnectRequest.cert)
}
inline ::CMsgSteamDatagramCertificateSigned* PROTOBUF_NULLABLE CMsgSteamSockets_UDP_ConnectRequest::release_cert() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::CMsgSteamDatagramCertificateSigned* released = _impl_.cert_;
  _impl_.cert_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::CMsgSteamDatagramCertificateSigned* PROTOBUF_NULLABLE CMsgSteamSockets_UDP_ConnectRequest::unsafe_arena_release_cert() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:CMsgSteamSockets_UDP_ConnectRequest.cert)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::CMsgSteamDatagramCertificateSigned* temp = _impl_.cert_;
  _impl_.cert_ = nullptr;
  return temp;
}
inline ::CMsgSteamDatagramCertificateSigned* PROTOBUF_NONNULL CMsgSteamSockets_UDP_ConnectRequest::_internal_mutable_cert() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.cert_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::CMsgSteamDatagramCertificateSigned>(GetArena());
    _impl_.cert_ = reinterpret_cast<::CMsgSteamDatagramCertificateSigned*>(p);
  }
  return _impl_.cert_;
}
inline ::CMsgSteamDatagramCertificateSigned* PROTOBUF_NONNULL CMsgSteamSockets_UDP_ConnectRequest::mutable_cert()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::CMsgSteamDatagramCertificateSigned* _msg = _internal_mutable_cert();
  // @@protoc_insertion_point(field_mutable:CMsgSteamSockets_UDP_ConnectRequest.cert)
  return _msg;
}
inline void CMsgSteamSockets_UDP_ConnectRequest::set_allocated_cert(::CMsgSteamDatagramCertificateSigned* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.cert_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.cert_ = reinterpret_cast<::CMsgSteamDatagramCertificateSigned*>(value);
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamSockets_UDP_ConnectRequest.cert)
}

// optional uint32 legacy_protocol_version = 8;
inline bool CMsgSteamSockets_UDP_ConnectRequest::has_legacy_protocol_version() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000200U);
  return value;
}
inline void CMsgSteamSockets_UDP_ConnectRequest::clear_legacy_protocol_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.legacy_protocol_version_ = 0u;
  ClearHasBit(_impl_._has_bits_[0], 0x00000200U);
}
inline ::uint32_t CMsgSteamSockets_UDP_ConnectRequest::legacy_protocol_version() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectRequest.legacy_protocol_version)
  return _internal_legacy_protocol_version();
}
inline void CMsgSteamSockets_UDP_ConnectRequest::set_legacy_protocol_version(::uint32_t value) {
  _internal_set_legacy_protocol_version(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000200U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ConnectRequest.legacy_protocol_version)
}
inline ::uint32_t CMsgSteamSockets_UDP_ConnectRequest::_internal_legacy_protocol_version() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.legacy_protocol_version_;
}
inline void CMsgSteamSockets_UDP_ConnectRequest::_internal_set_legacy_protocol_version(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.legacy_protocol_version_ = value;
}

// optional string identity_string = 10;
inline bool CMsgSteamSockets_UDP_ConnectRequest::has_identity_string() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  return value;
}
inline void CMsgSteamSockets_UDP_ConnectRequest::clear_identity_string() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.identity_string_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& CMsgSteamSockets_UDP_ConnectRequest::identity_string() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectRequest.identity_string)
  return _internal_identity_string();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void CMsgSteamSockets_UDP_ConnectRequest::set_identity_string(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.identity_string_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ConnectRequest.identity_string)
}
inline ::std::string* PROTOBUF_NONNULL CMsgSteamSockets_UDP_ConnectRequest::mutable_identity_string()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_identity_string();
  // @@protoc_insertion_point(field_mutable:CMsgSteamSockets_UDP_ConnectRequest.identity_string)
  return _s;
}
inline const ::std::string& CMsgSteamSockets_UDP_ConnectRequest::_internal_identity_string() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.identity_string_.Get();
}
inline void CMsgSteamSockets_UDP_ConnectRequest::_internal_set_identity_string(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.identity_string_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL CMsgSteamSockets_UDP_ConnectRequest::_internal_mutable_identity_string() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.identity_string_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE CMsgSteamSockets_UDP_ConnectRequest::release_identity_string() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:CMsgSteamSockets_UDP_ConnectRequest.identity_string)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.identity_string_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.identity_string_.Set("", GetArena());
  }
  return released;
}
inline void CMsgSteamSockets_UDP_ConnectRequest::set_allocated_identity_string(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.identity_string_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.identity_string_.IsDefault()) {
    _impl_.identity_string_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamSockets_UDP_ConnectRequest.identity_string)
}

// optional fixed64 legacy_client_steam_id = 3;
inline bool CMsgSteamSockets_UDP_ConnectRequest::has_legacy_client_steam_id() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000020U);
  return value;
}
inline void CMsgSteamSockets_UDP_ConnectRequest::clear_legacy_client_steam_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.legacy_client_steam_id_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
}
inline ::uint64_t CMsgSteamSockets_UDP_ConnectRequest::legacy_client_steam_id() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectRequest.legacy_client_steam_id)
  return _internal_legacy_client_steam_id();
}
inline void CMsgSteamSockets_UDP_ConnectRequest::set_legacy_client_steam_id(::uint64_t value) {
  _internal_set_legacy_client_steam_id(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ConnectRequest.legacy_client_steam_id)
}
inline ::uint64_t CMsgSteamSockets_UDP_ConnectRequest::_internal_legacy_client_steam_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.legacy_client_steam_id_;
}
inline void CMsgSteamSockets_UDP_ConnectRequest::_internal_set_legacy_client_steam_id(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.legacy_client_steam_id_ = value;
}

// optional .CMsgSteamNetworkingIdentityLegacyBinary legacy_identity_binary = 9;
inline bool CMsgSteamSockets_UDP_ConnectRequest::has_legacy_identity_binary() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
  PROTOBUF_ASSUME(!value || _impl_.legacy_identity_binary_ != nullptr);
  return value;
}
inline const ::CMsgSteamNetworkingIdentityLegacyBinary& CMsgSteamSockets_UDP_ConnectRequest::_internal_legacy_identity_binary() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::CMsgSteamNetworkingIdentityLegacyBinary* p = _impl_.legacy_identity_binary_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::CMsgSteamNetworkingIdentityLegacyBinary>(&::CMsgSteamNetworkingIdentityLegacyBinary_globals_);
}
inline const ::CMsgSteamNetworkingIdentityLegacyBinary& CMsgSteamSockets_UDP_ConnectRequest::legacy_identity_binary() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectRequest.legacy_identity_binary)
  return _internal_legacy_identity_binary();
}
inline void CMsgSteamSockets_UDP_ConnectRequest::unsafe_arena_set_allocated_legacy_identity_binary(
    ::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.legacy_identity_binary_);
  }
  _impl_.legacy_identity_binary_ = reinterpret_cast<::CMsgSteamNetworkingIdentityLegacyBinary*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CMsgSteamSockets_UDP_ConnectRequest.legacy_identity_binary)
}
inline ::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NULLABLE CMsgSteamSockets_UDP_ConnectRequest::release_legacy_identity_binary() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::CMsgSteamNetworkingIdentityLegacyBinary* released = _impl_.legacy_identity_binary_;
  _impl_.legacy_identity_binary_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NULLABLE CMsgSteamSockets_UDP_ConnectRequest::unsafe_arena_release_legacy_identity_binary() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:CMsgSteamSockets_UDP_ConnectRequest.legacy_identity_binary)

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::CMsgSteamNetworkingIdentityLegacyBinary* temp = _impl_.legacy_identity_binary_;
  _impl_.legacy_identity_binary_ = nullptr;
  return temp;
}
inline ::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NONNULL CMsgSteamSockets_UDP_ConnectRequest::_internal_mutable_legacy_identity_binary() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.legacy_identity_binary_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::CMsgSteamNetworkingIdentityLegacyBinary>(GetArena());
    _impl_.legacy_identity_binary_ = reinterpret_cast<::CMsgSteamNetworkingIdentityLegacyBinary*>(p);
  }
  return _impl_.legacy_identity_binary_;
}
inline ::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NONNULL CMsgSteamSockets_UDP_ConnectRequest::mutable_legacy_identity_binary()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::CMsgSteamNetworkingIdentityLegacyBinary* _msg = _internal_mutable_legacy_identity_binary();
  // @@protoc_insertion_point(field_mutable:CMsgSteamSockets_UDP_ConnectRequest.legacy_identity_binary)
  return _msg;
}
inline void CMsgSteamSockets_UDP_ConnectRequest::set_allocated_legacy_identity_binary(::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.legacy_identity_binary_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }

  _impl_.legacy_identity_binary_ = reinterpret_cast<::CMsgSteamNetworkingIdentityLegacyBinary*>(value);
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamSockets_UDP_ConnectRequest.legacy_identity_binary)
}

// -------------------------------------------------------------------

// CMsgSteamSockets_UDP_ConnectOK

// optional fixed32 client_connection_id = 1;
inline bool CMsgSteamSockets_UDP_ConnectOK::has_client_connection_id() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000020U);
  return value;
}
inline void CMsgSteamSockets_UDP_ConnectOK::clear_client_connection_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.client_connection_id_ = 0u;
  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
}
inline ::uint32_t CMsgSteamSockets_UDP_ConnectOK::client_connection_id() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectOK.client_connection_id)
  return _internal_client_connection_id();
}
inline void CMsgSteamSockets_UDP_ConnectOK::set_client_connection_id(::uint32_t value) {
  _internal_set_client_connection_id(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ConnectOK.client_connection_id)
}
inline ::uint32_t CMsgSteamSockets_UDP_ConnectOK::_internal_client_connection_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.client_connection_id_;
}
inline void CMsgSteamSockets_UDP_ConnectOK::_internal_set_client_connection_id(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.client_connection_id_ = value;
}

// optional fixed32 server_connection_id = 5;
inline bool CMsgSteamSockets_UDP_ConnectOK::has_server_connection_id() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000100U);
  return value;
}
inline void CMsgSteamSockets_UDP_ConnectOK::clear_server_connection_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.server_connection_id_ = 0u;
  ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
}
inline ::uint32_t CMsgSteamSockets_UDP_ConnectOK::server_connection_id() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectOK.server_connection_id)
  return _internal_server_connection_id();
}
inline void CMsgSteamSockets_UDP_ConnectOK::set_server_connection_id(::uint32_t value) {
  _internal_set_server_connection_id(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000100U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ConnectOK.server_connection_id)
}
inline ::uint32_t CMsgSteamSockets_UDP_ConnectOK::_internal_server_connection_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.server_connection_id_;
}
inline void CMsgSteamSockets_UDP_ConnectOK::_internal_set_server_connection_id(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.server_connection_id_ = value;
}

// optional fixed64 your_timestamp = 3;
inline bool CMsgSteamSockets_UDP_ConnectOK::has_your_timestamp() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000080U);
  return value;
}
inline void CMsgSteamSockets_UDP_ConnectOK::clear_your_timestamp() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.your_timestamp_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
}
inline ::uint64_t CMsgSteamSockets_UDP_ConnectOK::your_timestamp() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectOK.your_timestamp)
  return _internal_your_timestamp();
}
inline void CMsgSteamSockets_UDP_ConnectOK::set_your_timestamp(::uint64_t value) {
  _internal_set_your_timestamp(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ConnectOK.your_timestamp)
}
inline ::uint64_t CMsgSteamSockets_UDP_ConnectOK::_internal_your_timestamp() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.your_timestamp_;
}
inline void CMsgSteamSockets_UDP_ConnectOK::_internal_set_your_timestamp(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.your_timestamp_ = value;
}

// optional uint32 delay_time_usec = 4;
inline bool CMsgSteamSockets_UDP_ConnectOK::has_delay_time_usec() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000040U);
  return value;
}
inline void CMsgSteamSockets_UDP_ConnectOK::clear_delay_time_usec() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.delay_time_usec_ = 0u;
  ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
}
inline ::uint32_t CMsgSteamSockets_UDP_ConnectOK::delay_time_usec() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectOK.delay_time_usec)
  return _internal_delay_time_usec();
}
inline void CMsgSteamSockets_UDP_ConnectOK::set_delay_time_usec(::uint32_t value) {
  _internal_set_delay_time_usec(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ConnectOK.delay_time_usec)
}
inline ::uint32_t CMsgSteamSockets_UDP_ConnectOK::_internal_delay_time_usec() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.delay_time_usec_;
}
inline void CMsgSteamSockets_UDP_ConnectOK::_internal_set_delay_time_usec(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.delay_time_usec_ = value;
}

// optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 7;
inline bool CMsgSteamSockets_UDP_ConnectOK::has_crypt() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.crypt_ != nullptr);
  return value;
}
inline const ::CMsgSteamDatagramSessionCryptInfoSigned& CMsgSteamSockets_UDP_ConnectOK::_internal_crypt() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::CMsgSteamDatagramSessionCryptInfoSigned* p = _impl_.crypt_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::CMsgSteamDatagramSessionCryptInfoSigned>(&::CMsgSteamDatagramSessionCryptInfoSigned_globals_);
}
inline const ::CMsgSteamDatagramSessionCryptInfoSigned& CMsgSteamSockets_UDP_ConnectOK::crypt() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectOK.crypt)
  return _internal_crypt();
}
inline void CMsgSteamSockets_UDP_ConnectOK::unsafe_arena_set_allocated_crypt(
    ::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.crypt_);
  }
  _impl_.crypt_ = reinterpret_cast<::CMsgSteamDatagramSessionCryptInfoSigned*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CMsgSteamSockets_UDP_ConnectOK.crypt)
}
inline ::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NULLABLE CMsgSteamSockets_UDP_ConnectOK::release_crypt() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::CMsgSteamDatagramSessionCryptInfoSigned* released = _impl_.crypt_;
  _impl_.crypt_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NULLABLE CMsgSteamSockets_UDP_ConnectOK::unsafe_arena_release_crypt() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:CMsgSteamSockets_UDP_ConnectOK.crypt)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::CMsgSteamDatagramSessionCryptInfoSigned* temp = _impl_.crypt_;
  _impl_.crypt_ = nullptr;
  return temp;
}
inline ::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NONNULL CMsgSteamSockets_UDP_ConnectOK::_internal_mutable_crypt() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.crypt_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::CMsgSteamDatagramSessionCryptInfoSigned>(GetArena());
    _impl_.crypt_ = reinterpret_cast<::CMsgSteamDatagramSessionCryptInfoSigned*>(p);
  }
  return _impl_.crypt_;
}
inline ::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NONNULL CMsgSteamSockets_UDP_ConnectOK::mutable_crypt()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::CMsgSteamDatagramSessionCryptInfoSigned* _msg = _internal_mutable_crypt();
  // @@protoc_insertion_point(field_mutable:CMsgSteamSockets_UDP_ConnectOK.crypt)
  return _msg;
}
inline void CMsgSteamSockets_UDP_ConnectOK::set_allocated_crypt(::CMsgSteamDatagramSessionCryptInfoSigned* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.crypt_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.crypt_ = reinterpret_cast<::CMsgSteamDatagramSessionCryptInfoSigned*>(value);
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamSockets_UDP_ConnectOK.crypt)
}

// optional .CMsgSteamDatagramCertificateSigned cert = 8;
inline bool CMsgSteamSockets_UDP_ConnectOK::has_cert() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.cert_ != nullptr);
  return value;
}
inline const ::CMsgSteamDatagramCertificateSigned& CMsgSteamSockets_UDP_ConnectOK::_internal_cert() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::CMsgSteamDatagramCertificateSigned* p = _impl_.cert_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::CMsgSteamDatagramCertificateSigned>(&::CMsgSteamDatagramCertificateSigned_globals_);
}
inline const ::CMsgSteamDatagramCertificateSigned& CMsgSteamSockets_UDP_ConnectOK::cert() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectOK.cert)
  return _internal_cert();
}
inline void CMsgSteamSockets_UDP_ConnectOK::unsafe_arena_set_allocated_cert(
    ::CMsgSteamDatagramCertificateSigned* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.cert_);
  }
  _impl_.cert_ = reinterpret_cast<::CMsgSteamDatagramCertificateSigned*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CMsgSteamSockets_UDP_ConnectOK.cert)
}
inline ::CMsgSteamDatagramCertificateSigned* PROTOBUF_NULLABLE CMsgSteamSockets_UDP_ConnectOK::release_cert() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::CMsgSteamDatagramCertificateSigned* released = _impl_.cert_;
  _impl_.cert_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::CMsgSteamDatagramCertificateSigned* PROTOBUF_NULLABLE CMsgSteamSockets_UDP_ConnectOK::unsafe_arena_release_cert() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:CMsgSteamSockets_UDP_ConnectOK.cert)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::CMsgSteamDatagramCertificateSigned* temp = _impl_.cert_;
  _impl_.cert_ = nullptr;
  return temp;
}
inline ::CMsgSteamDatagramCertificateSigned* PROTOBUF_NONNULL CMsgSteamSockets_UDP_ConnectOK::_internal_mutable_cert() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.cert_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::CMsgSteamDatagramCertificateSigned>(GetArena());
    _impl_.cert_ = reinterpret_cast<::CMsgSteamDatagramCertificateSigned*>(p);
  }
  return _impl_.cert_;
}
inline ::CMsgSteamDatagramCertificateSigned* PROTOBUF_NONNULL CMsgSteamSockets_UDP_ConnectOK::mutable_cert()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::CMsgSteamDatagramCertificateSigned* _msg = _internal_mutable_cert();
  // @@protoc_insertion_point(field_mutable:CMsgSteamSockets_UDP_ConnectOK.cert)
  return _msg;
}
inline void CMsgSteamSockets_UDP_ConnectOK::set_allocated_cert(::CMsgSteamDatagramCertificateSigned* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.cert_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.cert_ = reinterpret_cast<::CMsgSteamDatagramCertificateSigned*>(value);
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamSockets_UDP_ConnectOK.cert)
}

// optional string identity_string = 11;
inline bool CMsgSteamSockets_UDP_ConnectOK::has_identity_string() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  return value;
}
inline void CMsgSteamSockets_UDP_ConnectOK::clear_identity_string() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.identity_string_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& CMsgSteamSockets_UDP_ConnectOK::identity_string() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectOK.identity_string)
  return _internal_identity_string();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void CMsgSteamSockets_UDP_ConnectOK::set_identity_string(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.identity_string_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ConnectOK.identity_string)
}
inline ::std::string* PROTOBUF_NONNULL CMsgSteamSockets_UDP_ConnectOK::mutable_identity_string()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_identity_string();
  // @@protoc_insertion_point(field_mutable:CMsgSteamSockets_UDP_ConnectOK.identity_string)
  return _s;
}
inline const ::std::string& CMsgSteamSockets_UDP_ConnectOK::_internal_identity_string() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.identity_string_.Get();
}
inline void CMsgSteamSockets_UDP_ConnectOK::_internal_set_identity_string(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.identity_string_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL CMsgSteamSockets_UDP_ConnectOK::_internal_mutable_identity_string() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.identity_string_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE CMsgSteamSockets_UDP_ConnectOK::release_identity_string() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:CMsgSteamSockets_UDP_ConnectOK.identity_string)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.identity_string_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.identity_string_.Set("", GetArena());
  }
  return released;
}
inline void CMsgSteamSockets_UDP_ConnectOK::set_allocated_identity_string(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.identity_string_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.identity_string_.IsDefault()) {
    _impl_.identity_string_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamSockets_UDP_ConnectOK.identity_string)
}

// optional fixed64 legacy_server_steam_id = 2;
inline bool CMsgSteamSockets_UDP_ConnectOK::has_legacy_server_steam_id() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U);
  return value;
}
inline void CMsgSteamSockets_UDP_ConnectOK::clear_legacy_server_steam_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.legacy_server_steam_id_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
}
inline ::uint64_t CMsgSteamSockets_UDP_ConnectOK::legacy_server_steam_id() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectOK.legacy_server_steam_id)
  return _internal_legacy_server_steam_id();
}
inline void CMsgSteamSockets_UDP_ConnectOK::set_legacy_server_steam_id(::uint64_t value) {
  _internal_set_legacy_server_steam_id(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ConnectOK.legacy_server_steam_id)
}
inline ::uint64_t CMsgSteamSockets_UDP_ConnectOK::_internal_legacy_server_steam_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.legacy_server_steam_id_;
}
inline void CMsgSteamSockets_UDP_ConnectOK::_internal_set_legacy_server_steam_id(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.legacy_server_steam_id_ = value;
}

// optional .CMsgSteamNetworkingIdentityLegacyBinary legacy_identity_binary = 10;
inline bool CMsgSteamSockets_UDP_ConnectOK::has_legacy_identity_binary() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
  PROTOBUF_ASSUME(!value || _impl_.legacy_identity_binary_ != nullptr);
  return value;
}
inline const ::CMsgSteamNetworkingIdentityLegacyBinary& CMsgSteamSockets_UDP_ConnectOK::_internal_legacy_identity_binary() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::CMsgSteamNetworkingIdentityLegacyBinary* p = _impl_.legacy_identity_binary_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::CMsgSteamNetworkingIdentityLegacyBinary>(&::CMsgSteamNetworkingIdentityLegacyBinary_globals_);
}
inline const ::CMsgSteamNetworkingIdentityLegacyBinary& CMsgSteamSockets_UDP_ConnectOK::legacy_identity_binary() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectOK.legacy_identity_binary)
  return _internal_legacy_identity_binary();
}
inline void CMsgSteamSockets_UDP_ConnectOK::unsafe_arena_set_allocated_legacy_identity_binary(
    ::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.legacy_identity_binary_);
  }
  _impl_.legacy_identity_binary_ = reinterpret_cast<::CMsgSteamNetworkingIdentityLegacyBinary*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CMsgSteamSockets_UDP_ConnectOK.legacy_identity_binary)
}
inline ::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NULLABLE CMsgSteamSockets_UDP_ConnectOK::release_legacy_identity_binary() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::CMsgSteamNetworkingIdentityLegacyBinary* released = _impl_.legacy_identity_binary_;
  _impl_.legacy_identity_binary_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NULLABLE CMsgSteamSockets_UDP_ConnectOK::unsafe_arena_release_legacy_identity_binary() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:CMsgSteamSockets_UDP_ConnectOK.legacy_identity_binary)

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::CMsgSteamNetworkingIdentityLegacyBinary* temp = _impl_.legacy_identity_binary_;
  _impl_.legacy_identity_binary_ = nullptr;
  return temp;
}
inline ::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NONNULL CMsgSteamSockets_UDP_ConnectOK::_internal_mutable_legacy_identity_binary() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.legacy_identity_binary_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::CMsgSteamNetworkingIdentityLegacyBinary>(GetArena());
    _impl_.legacy_identity_binary_ = reinterpret_cast<::CMsgSteamNetworkingIdentityLegacyBinary*>(p);
  }
  return _impl_.legacy_identity_binary_;
}
inline ::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NONNULL CMsgSteamSockets_UDP_ConnectOK::mutable_legacy_identity_binary()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::CMsgSteamNetworkingIdentityLegacyBinary* _msg = _internal_mutable_legacy_identity_binary();
  // @@protoc_insertion_point(field_mutable:CMsgSteamSockets_UDP_ConnectOK.legacy_identity_binary)
  return _msg;
}
inline void CMsgSteamSockets_UDP_ConnectOK::set_allocated_legacy_identity_binary(::CMsgSteamNetworkingIdentityLegacyBinary* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.legacy_identity_binary_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }

  _impl_.legacy_identity_binary_ = reinterpret_cast<::CMsgSteamNetworkingIdentityLegacyBinary*>(value);
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamSockets_UDP_ConnectOK.legacy_identity_binary)
}

// -------------------------------------------------------------------

// CMsgSteamSockets_UDP_ConnectionClosed

// optional fixed32 to_connection_id = 4;
inline bool CMsgSteamSockets_UDP_ConnectionClosed::has_to_connection_id() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  return value;
}
inline void CMsgSteamSockets_UDP_ConnectionClosed::clear_to_connection_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.to_connection_id_ = 0u;
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline ::uint32_t CMsgSteamSockets_UDP_ConnectionClosed::to_connection_id() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectionClosed.to_connection_id)
  return _internal_to_connection_id();
}
inline void CMsgSteamSockets_UDP_ConnectionClosed::set_to_connection_id(::uint32_t value) {
  _internal_set_to_connection_id(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ConnectionClosed.to_connection_id)
}
inline ::uint32_t CMsgSteamSockets_UDP_ConnectionClosed::_internal_to_connection_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.to_connection_id_;
}
inline void CMsgSteamSockets_UDP_ConnectionClosed::_internal_set_to_connection_id(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.to_connection_id_ = value;
}

// optional fixed32 from_connection_id = 5;
inline bool CMsgSteamSockets_UDP_ConnectionClosed::has_from_connection_id() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
  return value;
}
inline void CMsgSteamSockets_UDP_ConnectionClosed::clear_from_connection_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.from_connection_id_ = 0u;
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline ::uint32_t CMsgSteamSockets_UDP_ConnectionClosed::from_connection_id() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectionClosed.from_connection_id)
  return _internal_from_connection_id();
}
inline void CMsgSteamSockets_UDP_ConnectionClosed::set_from_connection_id(::uint32_t value) {
  _internal_set_from_connection_id(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ConnectionClosed.from_connection_id)
}
inline ::uint32_t CMsgSteamSockets_UDP_ConnectionClosed::_internal_from_connection_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.from_connection_id_;
}
inline void CMsgSteamSockets_UDP_ConnectionClosed::_internal_set_from_connection_id(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.from_connection_id_ = value;
}

// optional string debug = 2;
inline bool CMsgSteamSockets_UDP_ConnectionClosed::has_debug() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  return value;
}
inline void CMsgSteamSockets_UDP_ConnectionClosed::clear_debug() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.debug_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& CMsgSteamSockets_UDP_ConnectionClosed::debug() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectionClosed.debug)
  return _internal_debug();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void CMsgSteamSockets_UDP_ConnectionClosed::set_debug(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.debug_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ConnectionClosed.debug)
}
inline ::std::string* PROTOBUF_NONNULL CMsgSteamSockets_UDP_ConnectionClosed::mutable_debug()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_debug();
  // @@protoc_insertion_point(field_mutable:CMsgSteamSockets_UDP_ConnectionClosed.debug)
  return _s;
}
inline const ::std::string& CMsgSteamSockets_UDP_ConnectionClosed::_internal_debug() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.debug_.Get();
}
inline void CMsgSteamSockets_UDP_ConnectionClosed::_internal_set_debug(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.debug_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL CMsgSteamSockets_UDP_ConnectionClosed::_internal_mutable_debug() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.debug_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE CMsgSteamSockets_UDP_ConnectionClosed::release_debug() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:CMsgSteamSockets_UDP_ConnectionClosed.debug)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.debug_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.debug_.Set("", GetArena());
  }
  return released;
}
inline void CMsgSteamSockets_UDP_ConnectionClosed::set_allocated_debug(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.debug_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.debug_.IsDefault()) {
    _impl_.debug_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamSockets_UDP_ConnectionClosed.debug)
}

// optional uint32 reason_code = 3;
inline bool CMsgSteamSockets_UDP_ConnectionClosed::has_reason_code() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  return value;
}
inline void CMsgSteamSockets_UDP_ConnectionClosed::clear_reason_code() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.reason_code_ = 0u;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::uint32_t CMsgSteamSockets_UDP_ConnectionClosed::reason_code() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_ConnectionClosed.reason_code)
  return _internal_reason_code();
}
inline void CMsgSteamSockets_UDP_ConnectionClosed::set_reason_code(::uint32_t value) {
  _internal_set_reason_code(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_ConnectionClosed.reason_code)
}
inline ::uint32_t CMsgSteamSockets_UDP_ConnectionClosed::_internal_reason_code() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.reason_code_;
}
inline void CMsgSteamSockets_UDP_ConnectionClosed::_internal_set_reason_code(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.reason_code_ = value;
}

// -------------------------------------------------------------------

// CMsgSteamSockets_UDP_NoConnection

// optional fixed32 from_connection_id = 2;
inline bool CMsgSteamSockets_UDP_NoConnection::has_from_connection_id() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  return value;
}
inline void CMsgSteamSockets_UDP_NoConnection::clear_from_connection_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.from_connection_id_ = 0u;
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::uint32_t CMsgSteamSockets_UDP_NoConnection::from_connection_id() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_NoConnection.from_connection_id)
  return _internal_from_connection_id();
}
inline void CMsgSteamSockets_UDP_NoConnection::set_from_connection_id(::uint32_t value) {
  _internal_set_from_connection_id(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_NoConnection.from_connection_id)
}
inline ::uint32_t CMsgSteamSockets_UDP_NoConnection::_internal_from_connection_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.from_connection_id_;
}
inline void CMsgSteamSockets_UDP_NoConnection::_internal_set_from_connection_id(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.from_connection_id_ = value;
}

// optional fixed32 to_connection_id = 3;
inline bool CMsgSteamSockets_UDP_NoConnection::has_to_connection_id() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  return value;
}
inline void CMsgSteamSockets_UDP_NoConnection::clear_to_connection_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.to_connection_id_ = 0u;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::uint32_t CMsgSteamSockets_UDP_NoConnection::to_connection_id() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_NoConnection.to_connection_id)
  return _internal_to_connection_id();
}
inline void CMsgSteamSockets_UDP_NoConnection::set_to_connection_id(::uint32_t value) {
  _internal_set_to_connection_id(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_NoConnection.to_connection_id)
}
inline ::uint32_t CMsgSteamSockets_UDP_NoConnection::_internal_to_connection_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.to_connection_id_;
}
inline void CMsgSteamSockets_UDP_NoConnection::_internal_set_to_connection_id(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.to_connection_id_ = value;
}

// -------------------------------------------------------------------

// CMsgSteamSockets_UDP_Stats

// optional .CMsgSteamDatagramConnectionQuality stats = 1;
inline bool CMsgSteamSockets_UDP_Stats::has_stats() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.stats_ != nullptr);
  return value;
}
inline const ::CMsgSteamDatagramConnectionQuality& CMsgSteamSockets_UDP_Stats::_internal_stats() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::CMsgSteamDatagramConnectionQuality* p = _impl_.stats_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::CMsgSteamDatagramConnectionQuality>(&::CMsgSteamDatagramConnectionQuality_globals_);
}
inline const ::CMsgSteamDatagramConnectionQuality& CMsgSteamSockets_UDP_Stats::stats() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_Stats.stats)
  return _internal_stats();
}
inline void CMsgSteamSockets_UDP_Stats::unsafe_arena_set_allocated_stats(
    ::CMsgSteamDatagramConnectionQuality* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.stats_);
  }
  _impl_.stats_ = reinterpret_cast<::CMsgSteamDatagramConnectionQuality*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CMsgSteamSockets_UDP_Stats.stats)
}
inline ::CMsgSteamDatagramConnectionQuality* PROTOBUF_NULLABLE CMsgSteamSockets_UDP_Stats::release_stats() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::CMsgSteamDatagramConnectionQuality* released = _impl_.stats_;
  _impl_.stats_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::CMsgSteamDatagramConnectionQuality* PROTOBUF_NULLABLE CMsgSteamSockets_UDP_Stats::unsafe_arena_release_stats() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:CMsgSteamSockets_UDP_Stats.stats)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::CMsgSteamDatagramConnectionQuality* temp = _impl_.stats_;
  _impl_.stats_ = nullptr;
  return temp;
}
inline ::CMsgSteamDatagramConnectionQuality* PROTOBUF_NONNULL CMsgSteamSockets_UDP_Stats::_internal_mutable_stats() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.stats_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::CMsgSteamDatagramConnectionQuality>(GetArena());
    _impl_.stats_ = reinterpret_cast<::CMsgSteamDatagramConnectionQuality*>(p);
  }
  return _impl_.stats_;
}
inline ::CMsgSteamDatagramConnectionQuality* PROTOBUF_NONNULL CMsgSteamSockets_UDP_Stats::mutable_stats()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::CMsgSteamDatagramConnectionQuality* _msg = _internal_mutable_stats();
  // @@protoc_insertion_point(field_mutable:CMsgSteamSockets_UDP_Stats.stats)
  return _msg;
}
inline void CMsgSteamSockets_UDP_Stats::set_allocated_stats(::CMsgSteamDatagramConnectionQuality* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.stats_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.stats_ = reinterpret_cast<::CMsgSteamDatagramConnectionQuality*>(value);
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamSockets_UDP_Stats.stats)
}

// optional uint32 flags = 3;
inline bool CMsgSteamSockets_UDP_Stats::has_flags() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  return value;
}
inline void CMsgSteamSockets_UDP_Stats::clear_flags() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.flags_ = 0u;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::uint32_t CMsgSteamSockets_UDP_Stats::flags() const {
  // @@protoc_insertion_point(field_get:CMsgSteamSockets_UDP_Stats.flags)
  return _internal_flags();
}
inline void CMsgSteamSockets_UDP_Stats::set_flags(::uint32_t value) {
  _internal_set_flags(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:CMsgSteamSockets_UDP_Stats.flags)
}
inline ::uint32_t CMsgSteamSockets_UDP_Stats::_internal_flags() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.flags_;
}
inline void CMsgSteamSockets_UDP_Stats::_internal_set_flags(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.flags_ = value;
}

#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif  // __GNUC__

// @@protoc_insertion_point(namespace_scope)


namespace google {
namespace protobuf {

template <>
struct is_proto_enum<::CMsgSteamSockets_UDP_Stats_Flags> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::CMsgSteamSockets_UDP_Stats_Flags>() {
  return ::CMsgSteamSockets_UDP_Stats_Flags_descriptor();
}
template <>
struct is_proto_enum<::ESteamNetworkingUDPMsgID> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::ESteamNetworkingUDPMsgID>() {
  return ::ESteamNetworkingUDPMsgID_descriptor();
}

}  // namespace protobuf
}  // namespace google

// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"
// clang-format on

#endif  // steamnetworkingsockets_5fmessages_5fudp_2eproto_2epb_2eh
