syntax = "proto3";

package im_types;

option go_package = "./im_types";

enum pushDataType {
  UserInfo = 0;
  UserDevice = 1;
  UserFriend = 2;
  GroupInfo = 3;
  GroupMember = 4;
}

message pushData {
  optional pushDataType dataType = 1; // 消息ID(代表数据)
  int64 version = 2;         // 数据版本号
  bytes data = 3;            // 数据内容
  string dataKey = 4;        // 数据key

  string recvAddr = 5;      // 接收者地址
  string recvMachineId = 6; // 接收者设备ID
  string recvProxyId = 7;   //接收者代理
  string recvAckKey = 8;    // 回执数据确认key
  string recvAckNode = 9;   // 回执节点

  string key = 10;          // 数据key(计算处理节点)
  int32 repeatCounter = 11; // 发送次数
}

message recvPushData {
  string key = 1;  // 回执数据ackKey
  string node = 2; // 回执处理节点
}