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

package com.mogo.realtime.entity;

public final class DataCollectWrapper {
  private DataCollectWrapper() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  /**
   * <pre>
   **
   * 2018-08-22 应车机端需求添加versionCode字段
   * 2018-08-31 因根据车机版本号来区分消息是否下发。增加systemVersion
   * 2018-09-04 高精地图增加采集信息字段
   * </pre>
   *
   * Protobuf enum {@code mogo.yycp.proto.MsgType}
   */
  public enum MsgType
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <pre>
     * 坐标流数据
     * </pre>
     *
     * <code>DATA_COORDINATE_STREAM = 0;</code>
     */
    DATA_COORDINATE_STREAM(0),
    /**
     * <pre>
     * 车机基础数据
     * </pre>
     *
     * <code>DATA_DEVICE_BASE_INFO = 1;</code>
     */
    DATA_DEVICE_BASE_INFO(1),
    /**
     * <pre>
     *全量车辆基础数据，每30秒-1分钟上传一次
     * </pre>
     *
     * <code>DATA_VEHICLE_INFO = 2;</code>
     */
    DATA_VEHICLE_INFO(2),
    /**
     * <pre>
     *核心业务数据，10秒采集上传一次
     * </pre>
     *
     * <code>DATA_BIZ_INFO = 3;</code>
     */
    DATA_BIZ_INFO(3),
    /**
     * <pre>
     * 开始拍照控制命令
     * </pre>
     *
     * <code>CONTROL_CAPTURE_IMAGE = 10;</code>
     */
    CONTROL_CAPTURE_IMAGE(10),
    /**
     * <pre>
     *锁定解锁车机信号s
     * </pre>
     *
     * <code>CONTROL_LOCK_UNLOCK = 11;</code>
     */
    CONTROL_LOCK_UNLOCK(11),
    /**
     * <pre>
     *下发导航指令
     * </pre>
     *
     * <code>CONTROL_ROUTE_DATA = 12;</code>
     */
    CONTROL_ROUTE_DATA(12),
    /**
     * <pre>
     * push消息
     * </pre>
     *
     * <code>CONNECT_PUSH = 13;</code>
     */
    CONNECT_PUSH(13),
    /**
     * <pre>
     * 事件消息
     * </pre>
     *
     * <code>EVENT = 21;</code>
     */
    EVENT(21),
    /**
     * <pre>
     * 车机端APP流量信息
     * </pre>
     *
     * <code>APP_FLOW_STREAM = 30;</code>
     */
    APP_FLOW_STREAM(30),
    /**
     * <pre>
     * 高精地图采集信息
     * </pre>
     *
     * <code>HDMAP_DATA_SAMPLE = 31;</code>
     */
    HDMAP_DATA_SAMPLE(31),
    UNRECOGNIZED(-1),
    ;

    /**
     * <pre>
     * 坐标流数据
     * </pre>
     *
     * <code>DATA_COORDINATE_STREAM = 0;</code>
     */
    public static final int DATA_COORDINATE_STREAM_VALUE = 0;
    /**
     * <pre>
     * 车机基础数据
     * </pre>
     *
     * <code>DATA_DEVICE_BASE_INFO = 1;</code>
     */
    public static final int DATA_DEVICE_BASE_INFO_VALUE = 1;
    /**
     * <pre>
     *全量车辆基础数据，每30秒-1分钟上传一次
     * </pre>
     *
     * <code>DATA_VEHICLE_INFO = 2;</code>
     */
    public static final int DATA_VEHICLE_INFO_VALUE = 2;
    /**
     * <pre>
     *核心业务数据，10秒采集上传一次
     * </pre>
     *
     * <code>DATA_BIZ_INFO = 3;</code>
     */
    public static final int DATA_BIZ_INFO_VALUE = 3;
    /**
     * <pre>
     * 开始拍照控制命令
     * </pre>
     *
     * <code>CONTROL_CAPTURE_IMAGE = 10;</code>
     */
    public static final int CONTROL_CAPTURE_IMAGE_VALUE = 10;
    /**
     * <pre>
     *锁定解锁车机信号s
     * </pre>
     *
     * <code>CONTROL_LOCK_UNLOCK = 11;</code>
     */
    public static final int CONTROL_LOCK_UNLOCK_VALUE = 11;
    /**
     * <pre>
     *下发导航指令
     * </pre>
     *
     * <code>CONTROL_ROUTE_DATA = 12;</code>
     */
    public static final int CONTROL_ROUTE_DATA_VALUE = 12;
    /**
     * <pre>
     * push消息
     * </pre>
     *
     * <code>CONNECT_PUSH = 13;</code>
     */
    public static final int CONNECT_PUSH_VALUE = 13;
    /**
     * <pre>
     * 事件消息
     * </pre>
     *
     * <code>EVENT = 21;</code>
     */
    public static final int EVENT_VALUE = 21;
    /**
     * <pre>
     * 车机端APP流量信息
     * </pre>
     *
     * <code>APP_FLOW_STREAM = 30;</code>
     */
    public static final int APP_FLOW_STREAM_VALUE = 30;
    /**
     * <pre>
     * 高精地图采集信息
     * </pre>
     *
     * <code>HDMAP_DATA_SAMPLE = 31;</code>
     */
    public static final int HDMAP_DATA_SAMPLE_VALUE = 31;


    public final int getNumber() {
      if (this == UNRECOGNIZED) {
        throw new IllegalArgumentException(
            "Can't get the number of an unknown enum value.");
      }
      return value;
    }

    /**
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @Deprecated
    public static MsgType valueOf(int value) {
      return forNumber(value);
    }

    public static MsgType forNumber(int value) {
      switch (value) {
        case 0: return DATA_COORDINATE_STREAM;
        case 1: return DATA_DEVICE_BASE_INFO;
        case 2: return DATA_VEHICLE_INFO;
        case 3: return DATA_BIZ_INFO;
        case 10: return CONTROL_CAPTURE_IMAGE;
        case 11: return CONTROL_LOCK_UNLOCK;
        case 12: return CONTROL_ROUTE_DATA;
        case 13: return CONNECT_PUSH;
        case 21: return EVENT;
        case 30: return APP_FLOW_STREAM;
        case 31: return HDMAP_DATA_SAMPLE;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<MsgType>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        MsgType> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<MsgType>() {
            public MsgType findValueByNumber(int number) {
              return MsgType.forNumber(number);
            }
          };

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(ordinal());
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return DataCollectWrapper.getDescriptor().getEnumTypes().get(0);
    }

    private static final MsgType[] VALUES = values();

    public static MsgType valueOf(
        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      if (desc.getIndex() == -1) {
        return UNRECOGNIZED;
      }
      return VALUES[desc.getIndex()];
    }

    private final int value;

    private MsgType(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:mogo.yycp.proto.MsgType)
  }

  public interface DataCollectMsgOrBuilder extends
      // @@protoc_insertion_point(interface_extends:mogo.yycp.proto.DataCollectMsg)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *服务端dispatch分发、车机端分发使用。上行消息和下行消息必填
     * </pre>
     *
     * <code>uint32 productLine = 1;</code>
     */
    int getProductLine();

    /**
     * <pre>
     *payload type, enum &#64;PacketType
     * </pre>
     *
     * <code>uint32 msgType = 2;</code>
     */
    int getMsgType();

    /**
     * <pre>
     *用户id
     * </pre>
     *
     * <code>uint64 uid = 3;</code>
     */
    long getUid();

    /**
     * <pre>
     *车机sn
     * </pre>
     *
     * <code>string sn = 4;</code>
     */
    String getSn();
    /**
     * <pre>
     *车机sn
     * </pre>
     *
     * <code>string sn = 4;</code>
     */
    com.google.protobuf.ByteString
        getSnBytes();

    /**
     * <pre>
     *unix时间戳，Java的话要 Instant.now().toMill()
     * </pre>
     *
     * <code>uint64 timestamp = 5;</code>
     */
    long getTimestamp();

    /**
     * <pre>
     * rsp copied from re
     * </pre>
     *
     * <code>uint64 msgId = 6;</code>
     */
    long getMsgId();

    /**
     * <pre>
     *车机端各APP接收业务使用，车机端消息分发使用
     * </pre>
     *
     * <code>string appId = 7;</code>
     */
    String getAppId();
    /**
     * <pre>
     *车机端各APP接收业务使用，车机端消息分发使用
     * </pre>
     *
     * <code>string appId = 7;</code>
     */
    com.google.protobuf.ByteString
        getAppIdBytes();

    /**
     * <pre>
     *透传数据
     * </pre>
     *
     * <code>bytes data = 8;</code>
     */
    com.google.protobuf.ByteString getData();

    /**
     * <pre>
     *服务端时间戳
     * </pre>
     *
     * <code>uint64 serverTimeStamp = 9;</code>
     */
    long getServerTimeStamp();
  }
  /**
   * <pre>
   * DataCollect转发到业务消息体，也就是放到kafka里的格式
   * </pre>
   *
   * Protobuf type {@code mogo.yycp.proto.DataCollectMsg}
   */
  public  static final class DataCollectMsg extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:mogo.yycp.proto.DataCollectMsg)
      DataCollectMsgOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use DataCollectMsg.newBuilder() to construct.
    private DataCollectMsg(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private DataCollectMsg() {
      productLine_ = 0;
      msgType_ = 0;
      uid_ = 0L;
      sn_ = "";
      timestamp_ = 0L;
      msgId_ = 0L;
      appId_ = "";
      data_ = com.google.protobuf.ByteString.EMPTY;
      serverTimeStamp_ = 0L;
    }

    @Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private DataCollectMsg(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              productLine_ = input.readUInt32();
              break;
            }
            case 16: {

              msgType_ = input.readUInt32();
              break;
            }
            case 24: {

              uid_ = input.readUInt64();
              break;
            }
            case 34: {
              String s = input.readStringRequireUtf8();

              sn_ = s;
              break;
            }
            case 40: {

              timestamp_ = input.readUInt64();
              break;
            }
            case 48: {

              msgId_ = input.readUInt64();
              break;
            }
            case 58: {
              String s = input.readStringRequireUtf8();

              appId_ = s;
              break;
            }
            case 66: {

              data_ = input.readBytes();
              break;
            }
            case 72: {

              serverTimeStamp_ = input.readUInt64();
              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return DataCollectWrapper.internal_static_mogo_yycp_proto_DataCollectMsg_descriptor;
    }

    @Override
    protected FieldAccessorTable
        internalGetFieldAccessorTable() {
      return DataCollectWrapper.internal_static_mogo_yycp_proto_DataCollectMsg_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              DataCollectMsg.class, Builder.class);
    }

    public static final int PRODUCTLINE_FIELD_NUMBER = 1;
    private int productLine_;
    /**
     * <pre>
     *服务端dispatch分发、车机端分发使用。上行消息和下行消息必填
     * </pre>
     *
     * <code>uint32 productLine = 1;</code>
     */
    public int getProductLine() {
      return productLine_;
    }

    public static final int MSGTYPE_FIELD_NUMBER = 2;
    private int msgType_;
    /**
     * <pre>
     *payload type, enum &#64;PacketType
     * </pre>
     *
     * <code>uint32 msgType = 2;</code>
     */
    public int getMsgType() {
      return msgType_;
    }

    public static final int UID_FIELD_NUMBER = 3;
    private long uid_;
    /**
     * <pre>
     *用户id
     * </pre>
     *
     * <code>uint64 uid = 3;</code>
     */
    public long getUid() {
      return uid_;
    }

    public static final int SN_FIELD_NUMBER = 4;
    private volatile Object sn_;
    /**
     * <pre>
     *车机sn
     * </pre>
     *
     * <code>string sn = 4;</code>
     */
    public String getSn() {
      Object ref = sn_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        sn_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *车机sn
     * </pre>
     *
     * <code>string sn = 4;</code>
     */
    public com.google.protobuf.ByteString
        getSnBytes() {
      Object ref = sn_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        sn_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int TIMESTAMP_FIELD_NUMBER = 5;
    private long timestamp_;
    /**
     * <pre>
     *unix时间戳，Java的话要 Instant.now().toMill()
     * </pre>
     *
     * <code>uint64 timestamp = 5;</code>
     */
    public long getTimestamp() {
      return timestamp_;
    }

    public static final int MSGID_FIELD_NUMBER = 6;
    private long msgId_;
    /**
     * <pre>
     * rsp copied from re
     * </pre>
     *
     * <code>uint64 msgId = 6;</code>
     */
    public long getMsgId() {
      return msgId_;
    }

    public static final int APPID_FIELD_NUMBER = 7;
    private volatile Object appId_;
    /**
     * <pre>
     *车机端各APP接收业务使用，车机端消息分发使用
     * </pre>
     *
     * <code>string appId = 7;</code>
     */
    public String getAppId() {
      Object ref = appId_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        appId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *车机端各APP接收业务使用，车机端消息分发使用
     * </pre>
     *
     * <code>string appId = 7;</code>
     */
    public com.google.protobuf.ByteString
        getAppIdBytes() {
      Object ref = appId_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        appId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DATA_FIELD_NUMBER = 8;
    private com.google.protobuf.ByteString data_;
    /**
     * <pre>
     *透传数据
     * </pre>
     *
     * <code>bytes data = 8;</code>
     */
    public com.google.protobuf.ByteString getData() {
      return data_;
    }

    public static final int SERVERTIMESTAMP_FIELD_NUMBER = 9;
    private long serverTimeStamp_;
    /**
     * <pre>
     *服务端时间戳
     * </pre>
     *
     * <code>uint64 serverTimeStamp = 9;</code>
     */
    public long getServerTimeStamp() {
      return serverTimeStamp_;
    }

    private byte memoizedIsInitialized = -1;
    @Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (productLine_ != 0) {
        output.writeUInt32(1, productLine_);
      }
      if (msgType_ != 0) {
        output.writeUInt32(2, msgType_);
      }
      if (uid_ != 0L) {
        output.writeUInt64(3, uid_);
      }
      if (!getSnBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, sn_);
      }
      if (timestamp_ != 0L) {
        output.writeUInt64(5, timestamp_);
      }
      if (msgId_ != 0L) {
        output.writeUInt64(6, msgId_);
      }
      if (!getAppIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, appId_);
      }
      if (!data_.isEmpty()) {
        output.writeBytes(8, data_);
      }
      if (serverTimeStamp_ != 0L) {
        output.writeUInt64(9, serverTimeStamp_);
      }
      unknownFields.writeTo(output);
    }

    @Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (productLine_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, productLine_);
      }
      if (msgType_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, msgType_);
      }
      if (uid_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(3, uid_);
      }
      if (!getSnBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, sn_);
      }
      if (timestamp_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(5, timestamp_);
      }
      if (msgId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(6, msgId_);
      }
      if (!getAppIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, appId_);
      }
      if (!data_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(8, data_);
      }
      if (serverTimeStamp_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(9, serverTimeStamp_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @Override
    public boolean equals(final Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof DataCollectMsg)) {
        return super.equals(obj);
      }
      DataCollectMsg other = (DataCollectMsg) obj;

      boolean result = true;
      result = result && (getProductLine()
          == other.getProductLine());
      result = result && (getMsgType()
          == other.getMsgType());
      result = result && (getUid()
          == other.getUid());
      result = result && getSn()
          .equals(other.getSn());
      result = result && (getTimestamp()
          == other.getTimestamp());
      result = result && (getMsgId()
          == other.getMsgId());
      result = result && getAppId()
          .equals(other.getAppId());
      result = result && getData()
          .equals(other.getData());
      result = result && (getServerTimeStamp()
          == other.getServerTimeStamp());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + PRODUCTLINE_FIELD_NUMBER;
      hash = (53 * hash) + getProductLine();
      hash = (37 * hash) + MSGTYPE_FIELD_NUMBER;
      hash = (53 * hash) + getMsgType();
      hash = (37 * hash) + UID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getUid());
      hash = (37 * hash) + SN_FIELD_NUMBER;
      hash = (53 * hash) + getSn().hashCode();
      hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getTimestamp());
      hash = (37 * hash) + MSGID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getMsgId());
      hash = (37 * hash) + APPID_FIELD_NUMBER;
      hash = (53 * hash) + getAppId().hashCode();
      hash = (37 * hash) + DATA_FIELD_NUMBER;
      hash = (53 * hash) + getData().hashCode();
      hash = (37 * hash) + SERVERTIMESTAMP_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getServerTimeStamp());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static DataCollectMsg parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static DataCollectMsg parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static DataCollectMsg parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static DataCollectMsg parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static DataCollectMsg parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static DataCollectMsg parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static DataCollectMsg parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static DataCollectMsg parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static DataCollectMsg parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static DataCollectMsg parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static DataCollectMsg parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static DataCollectMsg parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(DataCollectMsg prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @Override
    protected Builder newBuilderForType(
        BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * DataCollect转发到业务消息体，也就是放到kafka里的格式
     * </pre>
     *
     * Protobuf type {@code mogo.yycp.proto.DataCollectMsg}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:mogo.yycp.proto.DataCollectMsg)
        DataCollectMsgOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return DataCollectWrapper.internal_static_mogo_yycp_proto_DataCollectMsg_descriptor;
      }

      @Override
      protected FieldAccessorTable
          internalGetFieldAccessorTable() {
        return DataCollectWrapper.internal_static_mogo_yycp_proto_DataCollectMsg_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                DataCollectMsg.class, Builder.class);
      }

      // Construct using mogo.yycp.proto.DataCollectWrapper.DataCollectMsg.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @Override
      public Builder clear() {
        super.clear();
        productLine_ = 0;

        msgType_ = 0;

        uid_ = 0L;

        sn_ = "";

        timestamp_ = 0L;

        msgId_ = 0L;

        appId_ = "";

        data_ = com.google.protobuf.ByteString.EMPTY;

        serverTimeStamp_ = 0L;

        return this;
      }

      @Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return DataCollectWrapper.internal_static_mogo_yycp_proto_DataCollectMsg_descriptor;
      }

      @Override
      public DataCollectMsg getDefaultInstanceForType() {
        return DataCollectMsg.getDefaultInstance();
      }

      @Override
      public DataCollectMsg build() {
        DataCollectMsg result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @Override
      public DataCollectMsg buildPartial() {
        DataCollectMsg result = new DataCollectMsg(this);
        result.productLine_ = productLine_;
        result.msgType_ = msgType_;
        result.uid_ = uid_;
        result.sn_ = sn_;
        result.timestamp_ = timestamp_;
        result.msgId_ = msgId_;
        result.appId_ = appId_;
        result.data_ = data_;
        result.serverTimeStamp_ = serverTimeStamp_;
        onBuilt();
        return result;
      }

      @Override
      public Builder clone() {
        return (Builder) super.clone();
      }
      @Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      @Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      @Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      @Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      @Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      @Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof DataCollectMsg) {
          return mergeFrom((DataCollectMsg)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(DataCollectMsg other) {
        if (other == DataCollectMsg.getDefaultInstance()) return this;
        if (other.getProductLine() != 0) {
          setProductLine(other.getProductLine());
        }
        if (other.getMsgType() != 0) {
          setMsgType(other.getMsgType());
        }
        if (other.getUid() != 0L) {
          setUid(other.getUid());
        }
        if (!other.getSn().isEmpty()) {
          sn_ = other.sn_;
          onChanged();
        }
        if (other.getTimestamp() != 0L) {
          setTimestamp(other.getTimestamp());
        }
        if (other.getMsgId() != 0L) {
          setMsgId(other.getMsgId());
        }
        if (!other.getAppId().isEmpty()) {
          appId_ = other.appId_;
          onChanged();
        }
        if (other.getData() != com.google.protobuf.ByteString.EMPTY) {
          setData(other.getData());
        }
        if (other.getServerTimeStamp() != 0L) {
          setServerTimeStamp(other.getServerTimeStamp());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @Override
      public final boolean isInitialized() {
        return true;
      }

      @Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        DataCollectMsg parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (DataCollectMsg) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int productLine_ ;
      /**
       * <pre>
       *服务端dispatch分发、车机端分发使用。上行消息和下行消息必填
       * </pre>
       *
       * <code>uint32 productLine = 1;</code>
       */
      public int getProductLine() {
        return productLine_;
      }
      /**
       * <pre>
       *服务端dispatch分发、车机端分发使用。上行消息和下行消息必填
       * </pre>
       *
       * <code>uint32 productLine = 1;</code>
       */
      public Builder setProductLine(int value) {

        productLine_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *服务端dispatch分发、车机端分发使用。上行消息和下行消息必填
       * </pre>
       *
       * <code>uint32 productLine = 1;</code>
       */
      public Builder clearProductLine() {

        productLine_ = 0;
        onChanged();
        return this;
      }

      private int msgType_ ;
      /**
       * <pre>
       *payload type, enum &#64;PacketType
       * </pre>
       *
       * <code>uint32 msgType = 2;</code>
       */
      public int getMsgType() {
        return msgType_;
      }
      /**
       * <pre>
       *payload type, enum &#64;PacketType
       * </pre>
       *
       * <code>uint32 msgType = 2;</code>
       */
      public Builder setMsgType(int value) {

        msgType_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *payload type, enum &#64;PacketType
       * </pre>
       *
       * <code>uint32 msgType = 2;</code>
       */
      public Builder clearMsgType() {

        msgType_ = 0;
        onChanged();
        return this;
      }

      private long uid_ ;
      /**
       * <pre>
       *用户id
       * </pre>
       *
       * <code>uint64 uid = 3;</code>
       */
      public long getUid() {
        return uid_;
      }
      /**
       * <pre>
       *用户id
       * </pre>
       *
       * <code>uint64 uid = 3;</code>
       */
      public Builder setUid(long value) {

        uid_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *用户id
       * </pre>
       *
       * <code>uint64 uid = 3;</code>
       */
      public Builder clearUid() {

        uid_ = 0L;
        onChanged();
        return this;
      }

      private Object sn_ = "";
      /**
       * <pre>
       *车机sn
       * </pre>
       *
       * <code>string sn = 4;</code>
       */
      public String getSn() {
        Object ref = sn_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          sn_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       *车机sn
       * </pre>
       *
       * <code>string sn = 4;</code>
       */
      public com.google.protobuf.ByteString
          getSnBytes() {
        Object ref = sn_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b =
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          sn_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *车机sn
       * </pre>
       *
       * <code>string sn = 4;</code>
       */
      public Builder setSn(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }

        sn_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *车机sn
       * </pre>
       *
       * <code>string sn = 4;</code>
       */
      public Builder clearSn() {

        sn_ = getDefaultInstance().getSn();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *车机sn
       * </pre>
       *
       * <code>string sn = 4;</code>
       */
      public Builder setSnBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);

        sn_ = value;
        onChanged();
        return this;
      }

      private long timestamp_ ;
      /**
       * <pre>
       *unix时间戳，Java的话要 Instant.now().toMill()
       * </pre>
       *
       * <code>uint64 timestamp = 5;</code>
       */
      public long getTimestamp() {
        return timestamp_;
      }
      /**
       * <pre>
       *unix时间戳，Java的话要 Instant.now().toMill()
       * </pre>
       *
       * <code>uint64 timestamp = 5;</code>
       */
      public Builder setTimestamp(long value) {

        timestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *unix时间戳，Java的话要 Instant.now().toMill()
       * </pre>
       *
       * <code>uint64 timestamp = 5;</code>
       */
      public Builder clearTimestamp() {

        timestamp_ = 0L;
        onChanged();
        return this;
      }

      private long msgId_ ;
      /**
       * <pre>
       * rsp copied from re
       * </pre>
       *
       * <code>uint64 msgId = 6;</code>
       */
      public long getMsgId() {
        return msgId_;
      }
      /**
       * <pre>
       * rsp copied from re
       * </pre>
       *
       * <code>uint64 msgId = 6;</code>
       */
      public Builder setMsgId(long value) {

        msgId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * rsp copied from re
       * </pre>
       *
       * <code>uint64 msgId = 6;</code>
       */
      public Builder clearMsgId() {

        msgId_ = 0L;
        onChanged();
        return this;
      }

      private Object appId_ = "";
      /**
       * <pre>
       *车机端各APP接收业务使用，车机端消息分发使用
       * </pre>
       *
       * <code>string appId = 7;</code>
       */
      public String getAppId() {
        Object ref = appId_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          appId_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       *车机端各APP接收业务使用，车机端消息分发使用
       * </pre>
       *
       * <code>string appId = 7;</code>
       */
      public com.google.protobuf.ByteString
          getAppIdBytes() {
        Object ref = appId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b =
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          appId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *车机端各APP接收业务使用，车机端消息分发使用
       * </pre>
       *
       * <code>string appId = 7;</code>
       */
      public Builder setAppId(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }

        appId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *车机端各APP接收业务使用，车机端消息分发使用
       * </pre>
       *
       * <code>string appId = 7;</code>
       */
      public Builder clearAppId() {

        appId_ = getDefaultInstance().getAppId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *车机端各APP接收业务使用，车机端消息分发使用
       * </pre>
       *
       * <code>string appId = 7;</code>
       */
      public Builder setAppIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);

        appId_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       *透传数据
       * </pre>
       *
       * <code>bytes data = 8;</code>
       */
      public com.google.protobuf.ByteString getData() {
        return data_;
      }
      /**
       * <pre>
       *透传数据
       * </pre>
       *
       * <code>bytes data = 8;</code>
       */
      public Builder setData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }

        data_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *透传数据
       * </pre>
       *
       * <code>bytes data = 8;</code>
       */
      public Builder clearData() {

        data_ = getDefaultInstance().getData();
        onChanged();
        return this;
      }

      private long serverTimeStamp_ ;
      /**
       * <pre>
       *服务端时间戳
       * </pre>
       *
       * <code>uint64 serverTimeStamp = 9;</code>
       */
      public long getServerTimeStamp() {
        return serverTimeStamp_;
      }
      /**
       * <pre>
       *服务端时间戳
       * </pre>
       *
       * <code>uint64 serverTimeStamp = 9;</code>
       */
      public Builder setServerTimeStamp(long value) {

        serverTimeStamp_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *服务端时间戳
       * </pre>
       *
       * <code>uint64 serverTimeStamp = 9;</code>
       */
      public Builder clearServerTimeStamp() {

        serverTimeStamp_ = 0L;
        onChanged();
        return this;
      }
      @Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

      @Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:mogo.yycp.proto.DataCollectMsg)
    }

    // @@protoc_insertion_point(class_scope:mogo.yycp.proto.DataCollectMsg)
    private static final DataCollectMsg DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new DataCollectMsg();
    }

    public static DataCollectMsg getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<DataCollectMsg>
        PARSER = new com.google.protobuf.AbstractParser<DataCollectMsg>() {
      @Override
      public DataCollectMsg parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new DataCollectMsg(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<DataCollectMsg> parser() {
      return PARSER;
    }

    @Override
    public com.google.protobuf.Parser<DataCollectMsg> getParserForType() {
      return PARSER;
    }

    @Override
    public DataCollectMsg getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface DataCollectMsgDataOrBuilder extends
      // @@protoc_insertion_point(interface_extends:mogo.yycp.proto.DataCollectMsgData)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *业务消息体类型(由各个endpoint自定义)
     * </pre>
     *
     * <code>uint32 msgType = 1;</code>
     */
    int getMsgType();

    /**
     * <pre>
     *消息体内容(由各个endpoint自定义)
     * </pre>
     *
     * <code>bytes payload = 2;</code>
     */
    com.google.protobuf.ByteString getPayload();
  }
  /**
   * <pre>
   * 透传数据格式 ：各业务数据收集,供kafka分发使用过 Payload
   * </pre>
   *
   * Protobuf type {@code mogo.yycp.proto.DataCollectMsgData}
   */
  public  static final class DataCollectMsgData extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:mogo.yycp.proto.DataCollectMsgData)
      DataCollectMsgDataOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use DataCollectMsgData.newBuilder() to construct.
    private DataCollectMsgData(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private DataCollectMsgData() {
      msgType_ = 0;
      payload_ = com.google.protobuf.ByteString.EMPTY;
    }

    @Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private DataCollectMsgData(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              msgType_ = input.readUInt32();
              break;
            }
            case 18: {

              payload_ = input.readBytes();
              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return DataCollectWrapper.internal_static_mogo_yycp_proto_DataCollectMsgData_descriptor;
    }

    @Override
    protected FieldAccessorTable
        internalGetFieldAccessorTable() {
      return DataCollectWrapper.internal_static_mogo_yycp_proto_DataCollectMsgData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              DataCollectMsgData.class, Builder.class);
    }

    public static final int MSGTYPE_FIELD_NUMBER = 1;
    private int msgType_;
    /**
     * <pre>
     *业务消息体类型(由各个endpoint自定义)
     * </pre>
     *
     * <code>uint32 msgType = 1;</code>
     */
    public int getMsgType() {
      return msgType_;
    }

    public static final int PAYLOAD_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString payload_;
    /**
     * <pre>
     *消息体内容(由各个endpoint自定义)
     * </pre>
     *
     * <code>bytes payload = 2;</code>
     */
    public com.google.protobuf.ByteString getPayload() {
      return payload_;
    }

    private byte memoizedIsInitialized = -1;
    @Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (msgType_ != 0) {
        output.writeUInt32(1, msgType_);
      }
      if (!payload_.isEmpty()) {
        output.writeBytes(2, payload_);
      }
      unknownFields.writeTo(output);
    }

    @Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (msgType_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, msgType_);
      }
      if (!payload_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, payload_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @Override
    public boolean equals(final Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof DataCollectMsgData)) {
        return super.equals(obj);
      }
      DataCollectMsgData other = (DataCollectMsgData) obj;

      boolean result = true;
      result = result && (getMsgType()
          == other.getMsgType());
      result = result && getPayload()
          .equals(other.getPayload());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + MSGTYPE_FIELD_NUMBER;
      hash = (53 * hash) + getMsgType();
      hash = (37 * hash) + PAYLOAD_FIELD_NUMBER;
      hash = (53 * hash) + getPayload().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static DataCollectMsgData parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static DataCollectMsgData parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static DataCollectMsgData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static DataCollectMsgData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static DataCollectMsgData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static DataCollectMsgData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static DataCollectMsgData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static DataCollectMsgData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static DataCollectMsgData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static DataCollectMsgData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static DataCollectMsgData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static DataCollectMsgData parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(DataCollectMsgData prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @Override
    protected Builder newBuilderForType(
        BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * 透传数据格式 ：各业务数据收集,供kafka分发使用过 Payload
     * </pre>
     *
     * Protobuf type {@code mogo.yycp.proto.DataCollectMsgData}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:mogo.yycp.proto.DataCollectMsgData)
        DataCollectMsgDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return DataCollectWrapper.internal_static_mogo_yycp_proto_DataCollectMsgData_descriptor;
      }

      @Override
      protected FieldAccessorTable
          internalGetFieldAccessorTable() {
        return DataCollectWrapper.internal_static_mogo_yycp_proto_DataCollectMsgData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                DataCollectMsgData.class, Builder.class);
      }

      // Construct using mogo.yycp.proto.DataCollectWrapper.DataCollectMsgData.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @Override
      public Builder clear() {
        super.clear();
        msgType_ = 0;

        payload_ = com.google.protobuf.ByteString.EMPTY;

        return this;
      }

      @Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return DataCollectWrapper.internal_static_mogo_yycp_proto_DataCollectMsgData_descriptor;
      }

      @Override
      public DataCollectMsgData getDefaultInstanceForType() {
        return DataCollectMsgData.getDefaultInstance();
      }

      @Override
      public DataCollectMsgData build() {
        DataCollectMsgData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @Override
      public DataCollectMsgData buildPartial() {
        DataCollectMsgData result = new DataCollectMsgData(this);
        result.msgType_ = msgType_;
        result.payload_ = payload_;
        onBuilt();
        return result;
      }

      @Override
      public Builder clone() {
        return (Builder) super.clone();
      }
      @Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      @Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      @Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      @Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      @Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      @Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof DataCollectMsgData) {
          return mergeFrom((DataCollectMsgData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(DataCollectMsgData other) {
        if (other == DataCollectMsgData.getDefaultInstance()) return this;
        if (other.getMsgType() != 0) {
          setMsgType(other.getMsgType());
        }
        if (other.getPayload() != com.google.protobuf.ByteString.EMPTY) {
          setPayload(other.getPayload());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @Override
      public final boolean isInitialized() {
        return true;
      }

      @Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        DataCollectMsgData parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (DataCollectMsgData) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int msgType_ ;
      /**
       * <pre>
       *业务消息体类型(由各个endpoint自定义)
       * </pre>
       *
       * <code>uint32 msgType = 1;</code>
       */
      public int getMsgType() {
        return msgType_;
      }
      /**
       * <pre>
       *业务消息体类型(由各个endpoint自定义)
       * </pre>
       *
       * <code>uint32 msgType = 1;</code>
       */
      public Builder setMsgType(int value) {

        msgType_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *业务消息体类型(由各个endpoint自定义)
       * </pre>
       *
       * <code>uint32 msgType = 1;</code>
       */
      public Builder clearMsgType() {

        msgType_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString payload_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       *消息体内容(由各个endpoint自定义)
       * </pre>
       *
       * <code>bytes payload = 2;</code>
       */
      public com.google.protobuf.ByteString getPayload() {
        return payload_;
      }
      /**
       * <pre>
       *消息体内容(由各个endpoint自定义)
       * </pre>
       *
       * <code>bytes payload = 2;</code>
       */
      public Builder setPayload(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }

        payload_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *消息体内容(由各个endpoint自定义)
       * </pre>
       *
       * <code>bytes payload = 2;</code>
       */
      public Builder clearPayload() {

        payload_ = getDefaultInstance().getPayload();
        onChanged();
        return this;
      }
      @Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

      @Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:mogo.yycp.proto.DataCollectMsgData)
    }

    // @@protoc_insertion_point(class_scope:mogo.yycp.proto.DataCollectMsgData)
    private static final DataCollectMsgData DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new DataCollectMsgData();
    }

    public static DataCollectMsgData getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<DataCollectMsgData>
        PARSER = new com.google.protobuf.AbstractParser<DataCollectMsgData>() {
      @Override
      public DataCollectMsgData parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new DataCollectMsgData(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<DataCollectMsgData> parser() {
      return PARSER;
    }

    @Override
    public com.google.protobuf.Parser<DataCollectMsgData> getParserForType() {
      return PARSER;
    }

    @Override
    public DataCollectMsgData getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface IOTChannelWrapperOrBuilder extends
      // @@protoc_insertion_point(interface_extends:mogo.yycp.proto.IOTChannelWrapper)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>.mogo.yycp.proto.MsgType type = 1;</code>
     */
    int getTypeValue();
    /**
     * <code>.mogo.yycp.proto.MsgType type = 1;</code>
     */
    MsgType getType();

    /**
     * <code>bytes data = 2;</code>
     */
    com.google.protobuf.ByteString getData();

    /**
     * <pre>
     *车机版本号
     * </pre>
     *
     * <code>string version = 3;</code>
     */
    String getVersion();
    /**
     * <pre>
     *车机版本号
     * </pre>
     *
     * <code>string version = 3;</code>
     */
    com.google.protobuf.ByteString
        getVersionBytes();

    /**
     * <pre>
     * </pre>
     *
     * <code>int32 versionCode = 4;</code>
     */
    int getVersionCode();

    /**
     * <pre>
     *系统版本号
     * </pre>
     *
     * <code>string systemVersion = 5;</code>
     */
    String getSystemVersion();
    /**
     * <pre>
     *系统版本号
     * </pre>
     *
     * <code>string systemVersion = 5;</code>
     */
    com.google.protobuf.ByteString
        getSystemVersionBytes();

    /**
     * <pre>
     *取不到，设置为0即可
     * </pre>
     *
     * <code>string cityId = 6;</code>
     */
    String getCityId();
    /**
     * <pre>
     *取不到，设置为0即可
     * </pre>
     *
     * <code>string cityId = 6;</code>
     */
    com.google.protobuf.ByteString
        getCityIdBytes();

    /**
     * <pre>
     *城市编码adcode
     * </pre>
     *
     * <code>string adCode = 7;</code>
     */
    String getAdCode();
    /**
     * <pre>
     *城市编码adcode
     * </pre>
     *
     * <code>string adCode = 7;</code>
     */
    com.google.protobuf.ByteString
        getAdCodeBytes();

    /**
     * <pre>
     *Unix时间戳，精确到毫秒
     * </pre>
     *
     * <code>uint64 timestamp = 8;</code>
     */
    long getTimestamp();
  }
  /**
   * Protobuf type {@code mogo.yycp.proto.IOTChannelWrapper}
   */
  public  static final class IOTChannelWrapper extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:mogo.yycp.proto.IOTChannelWrapper)
      IOTChannelWrapperOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use IOTChannelWrapper.newBuilder() to construct.
    private IOTChannelWrapper(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private IOTChannelWrapper() {
      type_ = 0;
      data_ = com.google.protobuf.ByteString.EMPTY;
      version_ = "";
      versionCode_ = 0;
      systemVersion_ = "";
      cityId_ = "";
      adCode_ = "";
      timestamp_ = 0L;
    }

    @Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private IOTChannelWrapper(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {
              int rawValue = input.readEnum();

              type_ = rawValue;
              break;
            }
            case 18: {

              data_ = input.readBytes();
              break;
            }
            case 26: {
              String s = input.readStringRequireUtf8();

              version_ = s;
              break;
            }
            case 32: {

              versionCode_ = input.readInt32();
              break;
            }
            case 42: {
              String s = input.readStringRequireUtf8();

              systemVersion_ = s;
              break;
            }
            case 50: {
              String s = input.readStringRequireUtf8();

              cityId_ = s;
              break;
            }
            case 58: {
              String s = input.readStringRequireUtf8();

              adCode_ = s;
              break;
            }
            case 64: {

              timestamp_ = input.readUInt64();
              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return DataCollectWrapper.internal_static_mogo_yycp_proto_IOTChannelWrapper_descriptor;
    }

    @Override
    protected FieldAccessorTable
        internalGetFieldAccessorTable() {
      return DataCollectWrapper.internal_static_mogo_yycp_proto_IOTChannelWrapper_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              IOTChannelWrapper.class, Builder.class);
    }

    public static final int TYPE_FIELD_NUMBER = 1;
    private int type_;
    /**
     * <code>.mogo.yycp.proto.MsgType type = 1;</code>
     */
    public int getTypeValue() {
      return type_;
    }
    /**
     * <code>.mogo.yycp.proto.MsgType type = 1;</code>
     */
    public MsgType getType() {
      @SuppressWarnings("deprecation")
      MsgType result = MsgType.valueOf(type_);
      return result == null ? MsgType.UNRECOGNIZED : result;
    }

    public static final int DATA_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString data_;
    /**
     * <code>bytes data = 2;</code>
     */
    public com.google.protobuf.ByteString getData() {
      return data_;
    }

    public static final int VERSION_FIELD_NUMBER = 3;
    private volatile Object version_;
    /**
     * <pre>
     *车机版本号
     * </pre>
     *
     * <code>string version = 3;</code>
     */
    public String getVersion() {
      Object ref = version_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        version_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *车机版本号
     * </pre>
     *
     * <code>string version = 3;</code>
     */
    public com.google.protobuf.ByteString
        getVersionBytes() {
      Object ref = version_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        version_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int VERSIONCODE_FIELD_NUMBER = 4;
    private int versionCode_;
    /**
     * <pre>
     * </pre>
     *
     * <code>int32 versionCode = 4;</code>
     */
    public int getVersionCode() {
      return versionCode_;
    }

    public static final int SYSTEMVERSION_FIELD_NUMBER = 5;
    private volatile Object systemVersion_;
    /**
     * <pre>
     *系统版本号
     * </pre>
     *
     * <code>string systemVersion = 5;</code>
     */
    public String getSystemVersion() {
      Object ref = systemVersion_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        systemVersion_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *系统版本号
     * </pre>
     *
     * <code>string systemVersion = 5;</code>
     */
    public com.google.protobuf.ByteString
        getSystemVersionBytes() {
      Object ref = systemVersion_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        systemVersion_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CITYID_FIELD_NUMBER = 6;
    private volatile Object cityId_;
    /**
     * <pre>
     *取不到，设置为0即可
     * </pre>
     *
     * <code>string cityId = 6;</code>
     */
    public String getCityId() {
      Object ref = cityId_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        cityId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *取不到，设置为0即可
     * </pre>
     *
     * <code>string cityId = 6;</code>
     */
    public com.google.protobuf.ByteString
        getCityIdBytes() {
      Object ref = cityId_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        cityId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ADCODE_FIELD_NUMBER = 7;
    private volatile Object adCode_;
    /**
     * <pre>
     *城市编码adcode
     * </pre>
     *
     * <code>string adCode = 7;</code>
     */
    public String getAdCode() {
      Object ref = adCode_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        adCode_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *城市编码adcode
     * </pre>
     *
     * <code>string adCode = 7;</code>
     */
    public com.google.protobuf.ByteString
        getAdCodeBytes() {
      Object ref = adCode_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        adCode_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int TIMESTAMP_FIELD_NUMBER = 8;
    private long timestamp_;
    /**
     * <pre>
     *Unix时间戳，精确到毫秒
     * </pre>
     *
     * <code>uint64 timestamp = 8;</code>
     */
    public long getTimestamp() {
      return timestamp_;
    }

    private byte memoizedIsInitialized = -1;
    @Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (type_ != MsgType.DATA_COORDINATE_STREAM.getNumber()) {
        output.writeEnum(1, type_);
      }
      if (!data_.isEmpty()) {
        output.writeBytes(2, data_);
      }
      if (!getVersionBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, version_);
      }
      if (versionCode_ != 0) {
        output.writeInt32(4, versionCode_);
      }
      if (!getSystemVersionBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, systemVersion_);
      }
      if (!getCityIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, cityId_);
      }
      if (!getAdCodeBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, adCode_);
      }
      if (timestamp_ != 0L) {
        output.writeUInt64(8, timestamp_);
      }
      unknownFields.writeTo(output);
    }

    @Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (type_ != MsgType.DATA_COORDINATE_STREAM.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, type_);
      }
      if (!data_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, data_);
      }
      if (!getVersionBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, version_);
      }
      if (versionCode_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, versionCode_);
      }
      if (!getSystemVersionBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, systemVersion_);
      }
      if (!getCityIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, cityId_);
      }
      if (!getAdCodeBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, adCode_);
      }
      if (timestamp_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(8, timestamp_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @Override
    public boolean equals(final Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof IOTChannelWrapper)) {
        return super.equals(obj);
      }
      IOTChannelWrapper other = (IOTChannelWrapper) obj;

      boolean result = true;
      result = result && type_ == other.type_;
      result = result && getData()
          .equals(other.getData());
      result = result && getVersion()
          .equals(other.getVersion());
      result = result && (getVersionCode()
          == other.getVersionCode());
      result = result && getSystemVersion()
          .equals(other.getSystemVersion());
      result = result && getCityId()
          .equals(other.getCityId());
      result = result && getAdCode()
          .equals(other.getAdCode());
      result = result && (getTimestamp()
          == other.getTimestamp());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + TYPE_FIELD_NUMBER;
      hash = (53 * hash) + type_;
      hash = (37 * hash) + DATA_FIELD_NUMBER;
      hash = (53 * hash) + getData().hashCode();
      hash = (37 * hash) + VERSION_FIELD_NUMBER;
      hash = (53 * hash) + getVersion().hashCode();
      hash = (37 * hash) + VERSIONCODE_FIELD_NUMBER;
      hash = (53 * hash) + getVersionCode();
      hash = (37 * hash) + SYSTEMVERSION_FIELD_NUMBER;
      hash = (53 * hash) + getSystemVersion().hashCode();
      hash = (37 * hash) + CITYID_FIELD_NUMBER;
      hash = (53 * hash) + getCityId().hashCode();
      hash = (37 * hash) + ADCODE_FIELD_NUMBER;
      hash = (53 * hash) + getAdCode().hashCode();
      hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getTimestamp());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static IOTChannelWrapper parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static IOTChannelWrapper parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static IOTChannelWrapper parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static IOTChannelWrapper parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static IOTChannelWrapper parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static IOTChannelWrapper parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static IOTChannelWrapper parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static IOTChannelWrapper parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static IOTChannelWrapper parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static IOTChannelWrapper parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static IOTChannelWrapper parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static IOTChannelWrapper parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(IOTChannelWrapper prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @Override
    protected Builder newBuilderForType(
        BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code mogo.yycp.proto.IOTChannelWrapper}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:mogo.yycp.proto.IOTChannelWrapper)
        IOTChannelWrapperOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return DataCollectWrapper.internal_static_mogo_yycp_proto_IOTChannelWrapper_descriptor;
      }

      @Override
      protected FieldAccessorTable
          internalGetFieldAccessorTable() {
        return DataCollectWrapper.internal_static_mogo_yycp_proto_IOTChannelWrapper_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                IOTChannelWrapper.class, Builder.class);
      }

      // Construct using mogo.yycp.proto.DataCollectWrapper.IOTChannelWrapper.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @Override
      public Builder clear() {
        super.clear();
        type_ = 0;

        data_ = com.google.protobuf.ByteString.EMPTY;

        version_ = "";

        versionCode_ = 0;

        systemVersion_ = "";

        cityId_ = "";

        adCode_ = "";

        timestamp_ = 0L;

        return this;
      }

      @Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return DataCollectWrapper.internal_static_mogo_yycp_proto_IOTChannelWrapper_descriptor;
      }

      @Override
      public IOTChannelWrapper getDefaultInstanceForType() {
        return IOTChannelWrapper.getDefaultInstance();
      }

      @Override
      public IOTChannelWrapper build() {
        IOTChannelWrapper result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @Override
      public IOTChannelWrapper buildPartial() {
        IOTChannelWrapper result = new IOTChannelWrapper(this);
        result.type_ = type_;
        result.data_ = data_;
        result.version_ = version_;
        result.versionCode_ = versionCode_;
        result.systemVersion_ = systemVersion_;
        result.cityId_ = cityId_;
        result.adCode_ = adCode_;
        result.timestamp_ = timestamp_;
        onBuilt();
        return result;
      }

      @Override
      public Builder clone() {
        return (Builder) super.clone();
      }
      @Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      @Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      @Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      @Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      @Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      @Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof IOTChannelWrapper) {
          return mergeFrom((IOTChannelWrapper)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(IOTChannelWrapper other) {
        if (other == IOTChannelWrapper.getDefaultInstance()) return this;
        if (other.type_ != 0) {
          setTypeValue(other.getTypeValue());
        }
        if (other.getData() != com.google.protobuf.ByteString.EMPTY) {
          setData(other.getData());
        }
        if (!other.getVersion().isEmpty()) {
          version_ = other.version_;
          onChanged();
        }
        if (other.getVersionCode() != 0) {
          setVersionCode(other.getVersionCode());
        }
        if (!other.getSystemVersion().isEmpty()) {
          systemVersion_ = other.systemVersion_;
          onChanged();
        }
        if (!other.getCityId().isEmpty()) {
          cityId_ = other.cityId_;
          onChanged();
        }
        if (!other.getAdCode().isEmpty()) {
          adCode_ = other.adCode_;
          onChanged();
        }
        if (other.getTimestamp() != 0L) {
          setTimestamp(other.getTimestamp());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @Override
      public final boolean isInitialized() {
        return true;
      }

      @Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        IOTChannelWrapper parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (IOTChannelWrapper) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int type_ = 0;
      /**
       * <code>.mogo.yycp.proto.MsgType type = 1;</code>
       */
      public int getTypeValue() {
        return type_;
      }
      /**
       * <code>.mogo.yycp.proto.MsgType type = 1;</code>
       */
      public Builder setTypeValue(int value) {
        type_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>.mogo.yycp.proto.MsgType type = 1;</code>
       */
      public MsgType getType() {
        @SuppressWarnings("deprecation")
        MsgType result = MsgType.valueOf(type_);
        return result == null ? MsgType.UNRECOGNIZED : result;
      }
      /**
       * <code>.mogo.yycp.proto.MsgType type = 1;</code>
       */
      public Builder setType(MsgType value) {
        if (value == null) {
          throw new NullPointerException();
        }

        type_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>.mogo.yycp.proto.MsgType type = 1;</code>
       */
      public Builder clearType() {

        type_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>bytes data = 2;</code>
       */
      public com.google.protobuf.ByteString getData() {
        return data_;
      }
      /**
       * <code>bytes data = 2;</code>
       */
      public Builder setData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }

        data_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bytes data = 2;</code>
       */
      public Builder clearData() {

        data_ = getDefaultInstance().getData();
        onChanged();
        return this;
      }

      private Object version_ = "";
      /**
       * <pre>
       *车机版本号
       * </pre>
       *
       * <code>string version = 3;</code>
       */
      public String getVersion() {
        Object ref = version_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          version_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       *车机版本号
       * </pre>
       *
       * <code>string version = 3;</code>
       */
      public com.google.protobuf.ByteString
          getVersionBytes() {
        Object ref = version_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b =
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          version_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *车机版本号
       * </pre>
       *
       * <code>string version = 3;</code>
       */
      public Builder setVersion(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }

        version_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *车机版本号
       * </pre>
       *
       * <code>string version = 3;</code>
       */
      public Builder clearVersion() {

        version_ = getDefaultInstance().getVersion();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *车机版本号
       * </pre>
       *
       * <code>string version = 3;</code>
       */
      public Builder setVersionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);

        version_ = value;
        onChanged();
        return this;
      }

      private int versionCode_ ;
      /**
       * <pre>
       * </pre>
       *
       * <code>int32 versionCode = 4;</code>
       */
      public int getVersionCode() {
        return versionCode_;
      }
      /**
       * <pre>
       * </pre>
       *
       * <code>int32 versionCode = 4;</code>
       */
      public Builder setVersionCode(int value) {

        versionCode_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * </pre>
       *
       * <code>int32 versionCode = 4;</code>
       */
      public Builder clearVersionCode() {

        versionCode_ = 0;
        onChanged();
        return this;
      }

      private Object systemVersion_ = "";
      /**
       * <pre>
       *系统版本号
       * </pre>
       *
       * <code>string systemVersion = 5;</code>
       */
      public String getSystemVersion() {
        Object ref = systemVersion_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          systemVersion_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       *系统版本号
       * </pre>
       *
       * <code>string systemVersion = 5;</code>
       */
      public com.google.protobuf.ByteString
          getSystemVersionBytes() {
        Object ref = systemVersion_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b =
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          systemVersion_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *系统版本号
       * </pre>
       *
       * <code>string systemVersion = 5;</code>
       */
      public Builder setSystemVersion(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }

        systemVersion_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *系统版本号
       * </pre>
       *
       * <code>string systemVersion = 5;</code>
       */
      public Builder clearSystemVersion() {

        systemVersion_ = getDefaultInstance().getSystemVersion();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *系统版本号
       * </pre>
       *
       * <code>string systemVersion = 5;</code>
       */
      public Builder setSystemVersionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);

        systemVersion_ = value;
        onChanged();
        return this;
      }

      private Object cityId_ = "";
      /**
       * <pre>
       *取不到，设置为0即可
       * </pre>
       *
       * <code>string cityId = 6;</code>
       */
      public String getCityId() {
        Object ref = cityId_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          cityId_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       *取不到，设置为0即可
       * </pre>
       *
       * <code>string cityId = 6;</code>
       */
      public com.google.protobuf.ByteString
          getCityIdBytes() {
        Object ref = cityId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b =
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          cityId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *取不到，设置为0即可
       * </pre>
       *
       * <code>string cityId = 6;</code>
       */
      public Builder setCityId(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }

        cityId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *取不到，设置为0即可
       * </pre>
       *
       * <code>string cityId = 6;</code>
       */
      public Builder clearCityId() {

        cityId_ = getDefaultInstance().getCityId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *取不到，设置为0即可
       * </pre>
       *
       * <code>string cityId = 6;</code>
       */
      public Builder setCityIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);

        cityId_ = value;
        onChanged();
        return this;
      }

      private Object adCode_ = "";
      /**
       * <pre>
       *城市编码adcode
       * </pre>
       *
       * <code>string adCode = 7;</code>
       */
      public String getAdCode() {
        Object ref = adCode_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          adCode_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       *城市编码adcode
       * </pre>
       *
       * <code>string adCode = 7;</code>
       */
      public com.google.protobuf.ByteString
          getAdCodeBytes() {
        Object ref = adCode_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b =
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          adCode_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *城市编码adcode
       * </pre>
       *
       * <code>string adCode = 7;</code>
       */
      public Builder setAdCode(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }

        adCode_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *城市编码adcode
       * </pre>
       *
       * <code>string adCode = 7;</code>
       */
      public Builder clearAdCode() {

        adCode_ = getDefaultInstance().getAdCode();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *城市编码adcode
       * </pre>
       *
       * <code>string adCode = 7;</code>
       */
      public Builder setAdCodeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);

        adCode_ = value;
        onChanged();
        return this;
      }

      private long timestamp_ ;
      /**
       * <pre>
       *Unix时间戳，精确到毫秒
       * </pre>
       *
       * <code>uint64 timestamp = 8;</code>
       */
      public long getTimestamp() {
        return timestamp_;
      }
      /**
       * <pre>
       *Unix时间戳，精确到毫秒
       * </pre>
       *
       * <code>uint64 timestamp = 8;</code>
       */
      public Builder setTimestamp(long value) {

        timestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *Unix时间戳，精确到毫秒
       * </pre>
       *
       * <code>uint64 timestamp = 8;</code>
       */
      public Builder clearTimestamp() {

        timestamp_ = 0L;
        onChanged();
        return this;
      }
      @Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

      @Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:mogo.yycp.proto.IOTChannelWrapper)
    }

    // @@protoc_insertion_point(class_scope:mogo.yycp.proto.IOTChannelWrapper)
    private static final IOTChannelWrapper DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new IOTChannelWrapper();
    }

    public static IOTChannelWrapper getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<IOTChannelWrapper>
        PARSER = new com.google.protobuf.AbstractParser<IOTChannelWrapper>() {
      @Override
      public IOTChannelWrapper parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new IOTChannelWrapper(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<IOTChannelWrapper> parser() {
      return PARSER;
    }

    @Override
    public com.google.protobuf.Parser<IOTChannelWrapper> getParserForType() {
      return PARSER;
    }

    @Override
    public IOTChannelWrapper getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_mogo_yycp_proto_DataCollectMsg_descriptor;
  private static final
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_mogo_yycp_proto_DataCollectMsg_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_mogo_yycp_proto_DataCollectMsgData_descriptor;
  private static final
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_mogo_yycp_proto_DataCollectMsgData_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_mogo_yycp_proto_IOTChannelWrapper_descriptor;
  private static final
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_mogo_yycp_proto_IOTChannelWrapper_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    String[] descriptorData = {
      "\n\030DataCollectWrapper.proto\022\017mogo.yycp.pr" +
      "oto\"\247\001\n\016DataCollectMsg\022\023\n\013productLine\030\001 " +
      "\001(\r\022\017\n\007msgType\030\002 \001(\r\022\013\n\003uid\030\003 \001(\004\022\n\n\002sn\030" +
      "\004 \001(\t\022\021\n\ttimestamp\030\005 \001(\004\022\r\n\005msgId\030\006 \001(\004\022" +
      "\r\n\005appId\030\007 \001(\t\022\014\n\004data\030\010 \001(\014\022\027\n\017serverTi" +
      "meStamp\030\t \001(\004\"6\n\022DataCollectMsgData\022\017\n\007m" +
      "sgType\030\001 \001(\r\022\017\n\007payload\030\002 \001(\014\"\271\001\n\021IOTCha" +
      "nnelWrapper\022&\n\004type\030\001 \001(\0162\030.mogo.yycp.pr" +
      "oto.MsgType\022\014\n\004data\030\002 \001(\014\022\017\n\007version\030\003 \001" +
      "(\t\022\023\n\013versionCode\030\004 \001(\005\022\025\n\rsystemVersion" +
      "\030\005 \001(\t\022\016\n\006cityId\030\006 \001(\t\022\016\n\006adCode\030\007 \001(\t\022\021" +
      "\n\ttimestamp\030\010 \001(\004*\377\001\n\007MsgType\022\032\n\026DATA_CO" +
      "ORDINATE_STREAM\020\000\022\031\n\025DATA_DEVICE_BASE_IN" +
      "FO\020\001\022\025\n\021DATA_VEHICLE_INFO\020\002\022\021\n\rDATA_BIZ_" +
      "INFO\020\003\022\031\n\025CONTROL_CAPTURE_IMAGE\020\n\022\027\n\023CON" +
      "TROL_LOCK_UNLOCK\020\013\022\026\n\022CONTROL_ROUTE_DATA" +
      "\020\014\022\020\n\014CONNECT_PUSH\020\r\022\t\n\005EVENT\020\025\022\023\n\017APP_F" +
      "LOW_STREAM\020\036\022\025\n\021HDMAP_DATA_SAMPLE\020\037B\024B\022D" +
      "ataCollectWrapperb\006proto3"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            return null;
          }
        };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
    internal_static_mogo_yycp_proto_DataCollectMsg_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_mogo_yycp_proto_DataCollectMsg_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_mogo_yycp_proto_DataCollectMsg_descriptor,
        new String[] { "ProductLine", "MsgType", "Uid", "Sn", "Timestamp", "MsgId", "AppId", "Data", "ServerTimeStamp", });
    internal_static_mogo_yycp_proto_DataCollectMsgData_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_mogo_yycp_proto_DataCollectMsgData_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_mogo_yycp_proto_DataCollectMsgData_descriptor,
        new String[] { "MsgType", "Payload", });
    internal_static_mogo_yycp_proto_IOTChannelWrapper_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_mogo_yycp_proto_IOTChannelWrapper_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_mogo_yycp_proto_IOTChannelWrapper_descriptor,
        new String[] { "Type", "Data", "Version", "VersionCode", "SystemVersion", "CityId", "AdCode", "Timestamp", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}
