Files
TeamTalk/pb/IM.Message.proto
2017-05-30 22:09:10 +08:00

123 lines
3.4 KiB
Protocol Buffer

package IM.Message;
import "IM.BaseDefine.proto";
option java_package = "com.mogujie.tt.protobuf";
//option java_outer_classname = "MOGUJIEIMMessage";
option optimize_for = LITE_RUNTIME;
//service id 0x0003
message IMMsgData{
//cmd id: 0x0301
required uint32 from_user_id = 1; //消息发送方
required uint32 to_session_id = 2; //消息接受方
required uint32 msg_id = 3;
required uint32 create_time = 4;
required IM.BaseDefine.MsgType msg_type = 5;
required bytes msg_data = 6;
optional bytes attach_data = 20;
}
message IMMsgDataAck{
//cmd id: 0x0302
required uint32 user_id = 1; //发送此信令的用户id
required uint32 session_id = 2;
required uint32 msg_id = 3;
required IM.BaseDefine.SessionType session_type = 4;
}
message IMMsgDataReadAck{
//cmd id: 0x0303
required uint32 user_id = 1; //发送此信令的用户id
required uint32 session_id = 2;
required uint32 msg_id = 3;
required IM.BaseDefine.SessionType session_type = 4;
}
message IMMsgDataReadNotify{
//cmd id: 0x0304
required uint32 user_id = 1; //发送此信令的用户id
required uint32 session_id = 2;
required uint32 msg_id = 3;
required IM.BaseDefine.SessionType session_type = 4;
}
message IMClientTimeReq{
//cmd id: 0x0305
}
message IMClientTimeRsp{
//cmd id: 0x0306
required uint32 server_time = 1;
}
message IMUnreadMsgCntReq{
//cmd id: 0x0307
required uint32 user_id = 1;
optional bytes attach_data = 20;
}
message IMUnreadMsgCntRsp{
//cmd id: 0x0308
required uint32 user_id = 1;
required uint32 total_cnt = 2;
repeated IM.BaseDefine.UnreadInfo unreadinfo_list = 3;
optional bytes attach_data = 20;
}
message IMGetMsgListReq{
//cmd id: 0x0309
required uint32 user_id = 1;
required IM.BaseDefine.SessionType session_type = 2;
required uint32 session_id = 3;
required uint32 msg_id_begin = 4;
required uint32 msg_cnt = 5;
optional bytes attach_data = 20;
}
//对于群而言,如果消息数目返回的数值小于请求的cnt,则表示群的消息能拉取的到头了,更早的消息没有权限拉取。
//如果msg_cnt 和 msg_id_begin计算得到的最早消息id与实际返回的最早消息id不一致,说明服务器消息有缺失,需要
//客户端做一个缺失标记,避免下次再次拉取。
message IMGetMsgListRsp{
//cmd id: 0x030a
required uint32 user_id = 1;
required IM.BaseDefine.SessionType session_type = 2;
required uint32 session_id = 3;
required uint32 msg_id_begin = 4;
repeated IM.BaseDefine.MsgInfo msg_list = 5;
optional bytes attach_data = 20;
}
message IMGetLatestMsgIdReq{
//cmd id: 0x030b
required uint32 user_id = 1;
required IM.BaseDefine.SessionType session_type = 2;
required uint32 session_id = 3;
optional bytes attach_data = 20;
}
message IMGetLatestMsgIdRsp{
//cmd id: 0x030c
required uint32 user_id = 1;
required IM.BaseDefine.SessionType session_type = 2;
required uint32 session_id = 3;
required uint32 latest_msg_id = 4;
optional bytes attach_data = 20;
}
message IMGetMsgByIdReq{
//cmd id: 0x030d
required uint32 user_id = 1;
required IM.BaseDefine.SessionType session_type = 2;
required uint32 session_id = 3;
repeated uint32 msg_id_list = 4;
optional bytes attach_data = 20;
}
message IMGetMsgByIdRsp{
//cmd id: 0x030e
required uint32 user_id = 1;
required IM.BaseDefine.SessionType session_type = 2;
required uint32 session_id = 3;
repeated IM.BaseDefine.MsgInfo msg_list = 4;
optional bytes attach_data = 20;
}