syntax = "proto3"; option go_package = "git.hlsq.asia/alex/proto/proto/rs/rspb"; import "rs_common.proto"; import "google/api/annotations.proto"; service Gateway { // ---------- 内部接口 ---------- // 发送消息到客户端 rpc InnerToClient(stream InnerToClientReq) returns (InnerToClientResp) {} // 广播消息到客户端 rpc InnerBroadcastClient(stream InnerBroadcastClientReq) returns (InnerBroadcastClientResp) {} // 广播消息到频道 rpc InnerBroadcastChannel(stream InnerBroadcastChannelReq) returns (InnerBroadcastChannelResp) {} // 踢用户下线 rpc InnerKickUser(InnerKickUserReq) returns (InnerKickUserResp) {} // ---------- 后台接口 ---------- // ---------- 外部接口 ---------- } // ---------- InnerToClient ---------- message InnerToClientReq { int64 USN = 1; int32 Platform = 2; // 平台(这里的类型是rspb.PlatformType) int32 MessageID = 3; // 消息ID bytes Payload = 4; // 消息内容 } message InnerToClientResp { } // ---------- InnerBroadcastClient ---------- message InnerBroadcastClientReq { repeated int64 USN = 1; repeated int32 Platform = 2; // 平台(这里的类型是rspb.PlatformType) int32 MessageID = 3; // 消息ID bytes Payload = 4; // 消息内容 } message InnerBroadcastClientResp { } // ---------- InnerBroadcastChannel ---------- message InnerBroadcastChannelReq { string ChannelName = 1; // 频道名称 int32 MessageID = 2; // 消息ID bytes Payload = 3; // 消息内容 } message InnerBroadcastChannelResp { } // ---------- InnerKickUser ---------- message InnerKickUserReq { int64 USN = 1; int32 Platform = 2; // 平台(这里的类型是rspb.PlatformType) int32 ID = 3; // 踢出原因(这里的类型是rspb.KickOutID) } message InnerKickUserResp { }