From 14ebb9cdcd81f8ed3edb9bc5a4b95f48655b0f03 Mon Sep 17 00:00:00 2001 From: Mrs4s <1844812067@qq.com> Date: Thu, 4 Feb 2021 17:53:54 +0800 Subject: [PATCH] feature group file upload. --- client/group_file.go | 110 ++++- client/highway.go | 79 +++ client/pb/exciting/group.pb.go | 863 +++++++++++++++++++++++++++++++++ client/pb/exciting/group.proto | 59 +++ client/pb/oidb/oidb0x6d6.pb.go | 92 +++- client/pb/oidb/oidb0x6d6.proto | 4 + client/pb/oidb/oidb0x6d9.pb.go | 515 ++++++++++++-------- client/pb/oidb/oidb0x6d9.proto | 10 +- 8 files changed, 1486 insertions(+), 246 deletions(-) create mode 100644 client/pb/exciting/group.pb.go create mode 100644 client/pb/exciting/group.proto diff --git a/client/group_file.go b/client/group_file.go index 1e35acf1..ecd351b8 100644 --- a/client/group_file.go +++ b/client/group_file.go @@ -4,15 +4,16 @@ import ( "crypto/sha1" "encoding/hex" "fmt" - "github.com/Mrs4s/MiraiGo/utils" - "io" - "os" - "runtime/debug" - + "github.com/Mrs4s/MiraiGo/client/pb/exciting" "github.com/Mrs4s/MiraiGo/client/pb/oidb" "github.com/Mrs4s/MiraiGo/protocol/packets" + "github.com/Mrs4s/MiraiGo/utils" "github.com/golang/protobuf/proto" "github.com/pkg/errors" + "io" + "math/rand" + "os" + "runtime/debug" ) type ( @@ -56,6 +57,7 @@ func init() { decoders["OidbSvc.0x6d6_0"] = decodeOIDB6d60Response decoders["OidbSvc.0x6d6_2"] = decodeOIDB6d62Response decoders["OidbSvc.0x6d6_3"] = decodeOIDB6d63Response + decoders["OidbSvc.0x6d9_4"] = ignoreDecoder } func (c *QQClient) GetGroupFileSystem(groupCode int64) (fs *GroupFileSystem, err error) { @@ -151,7 +153,7 @@ func (fs *GroupFileSystem) GetFilesByFolder(folderId string) ([]*GroupFile, []*G return files, folders, nil } -func (fs *GroupFileSystem) uploadFile(p, name, folderId string) error { +func (fs *GroupFileSystem) UploadFile(p, name, folderId string) error { file, err := os.OpenFile(p, os.O_RDONLY, 0666) if err != nil { return err @@ -162,8 +164,61 @@ func (fs *GroupFileSystem) uploadFile(p, name, folderId string) error { sha1H := sha1.New() _, _ = io.Copy(sha1H, file) sha1Hash := sha1H.Sum(nil) - fs.client.sendAndWait(fs.client.buildGroupFileUploadReqPacket(folderId, name, fs.GroupCode, size, md5Hash, sha1Hash)) - return nil + _, _ = file.Seek(0, io.SeekStart) + i, err := fs.client.sendAndWait(fs.client.buildGroupFileUploadReqPacket(folderId, name, fs.GroupCode, size, md5Hash, sha1Hash)) + if err != nil { + return errors.Wrap(err, "query upload failed") + } + rsp := i.(*oidb.UploadFileRspBody) + if rsp.BoolFileExist { + _, pkt := fs.client.buildGroupFileFeedsRequest(fs.GroupCode, rsp.FileId, rsp.BusId, rand.Int31()) + return fs.client.send(pkt) + } + if len(rsp.UploadIpLanV4) == 0 { + return errors.New("server requires unsupported ftn upload.") + } + ext, _ := proto.Marshal(&exciting.GroupFileUploadExt{ + Unknown1: proto.Int32(100), + Unknown2: proto.Int32(1), + Entry: &exciting.GroupFileUploadEntry{ + BusiBuff: &exciting.ExcitingBusiInfo{ + BusId: &rsp.BusId, + SenderUin: &fs.client.Uin, + ReceiverUin: &fs.GroupCode, + GroupCode: &fs.GroupCode, + }, + FileEntry: &exciting.ExcitingFileEntry{ + FileSize: &size, + Md5: md5Hash, + Sha1: sha1Hash, + FileId: []byte(rsp.FileId), + UploadKey: rsp.CheckKey, + }, + ClientInfo: &exciting.ExcitingClientInfo{ + ClientType: proto.Int32(2), + AppId: proto.String(fmt.Sprint(fs.client.version.AppId)), + TerminalType: proto.Int32(2), + ClientVer: proto.String("9e9c09dc"), + Unknown: proto.Int32(4), + }, + FileNameInfo: &exciting.ExcitingFileNameInfo{FileName: &name}, + Host: &exciting.ExcitingHostConfig{Hosts: []*exciting.ExcitingHostInfo{ + { + Url: &exciting.ExcitingUrlInfo{ + Unknown: proto.Int32(1), + Host: &rsp.UploadIpLanV4[0], + }, + Port: &rsp.UploadPort, + }, + }}, + }, + Unknown3: proto.Int32(0), + }) + if _, err = fs.client.excitingUploadStream(file, 71, fs.client.highwaySession.SigSession, ext); err != nil { + return errors.Wrap(err, "upload failed") + } + _, pkt := fs.client.buildGroupFileFeedsRequest(fs.GroupCode, rsp.FileId, rsp.BusId, rand.Int31()) + return fs.client.send(pkt) } func (fs *GroupFileSystem) GetDownloadUrl(file *GroupFile) string { @@ -183,16 +238,17 @@ func (fs *GroupFileSystem) DeleteFile(parentFolderId, fileId string, busId int32 func (c *QQClient) buildGroupFileUploadReqPacket(parentFolderId, fileName string, groupCode, fileSize int64, md5, sha1 []byte) (uint16, []byte) { seq := c.nextSeq() b, _ := proto.Marshal(&oidb.D6D6ReqBody{UploadFileReq: &oidb.UploadFileReqBody{ - GroupCode: groupCode, - AppId: 3, - BusId: 102, - Entrance: 5, - ParentFolderId: parentFolderId, - FileName: fileName, - LocalPath: "/storage/emulated/0/Pictures/files/s/" + fileName, - Int64FileSize: fileSize, - Sha: sha1, - Md5: md5, + GroupCode: groupCode, + AppId: 3, + BusId: 102, + Entrance: 5, + ParentFolderId: parentFolderId, + FileName: fileName, + LocalPath: "/storage/emulated/0/Pictures/files/s/" + fileName, + Int64FileSize: fileSize, + Sha: sha1, + Md5: md5, + SupportMultiUpload: true, }}) req := &oidb.OIDBSSOPkg{ Command: 1750, @@ -205,6 +261,22 @@ func (c *QQClient) buildGroupFileUploadReqPacket(parentFolderId, fileName string return seq, packet } +func (c *QQClient) buildGroupFileFeedsRequest(groupCode int64, fileId string, busId, msgRand int32) (uint16, []byte) { + seq := c.nextSeq() + req := c.packOIDBPackageProto(1753, 4, &oidb.D6D9ReqBody{FeedsInfoReq: &oidb.FeedsReqBody{ + GroupCode: proto.Uint64(uint64(groupCode)), + AppId: proto.Uint32(3), + FeedsInfoList: []*oidb.GroupFileFeedsInfo{{ + FileId: &fileId, + FeedFlag: proto.Uint32(1), + BusId: proto.Uint32(uint32(busId)), + MsgRandom: proto.Uint32(uint32(msgRand)), + }}, + }}) + packet := packets.BuildUniPacket(c.Uin, seq, "OidbSvc.0x6d9_4", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, req) + return seq, packet +} + // OidbSvc.0x6d8_1 func (c *QQClient) buildGroupFileListRequestPacket(groupCode int64, folderId string, startIndex uint32) (uint16, []byte) { seq := c.nextSeq() @@ -367,5 +439,5 @@ func decodeOIDB6d60Response(_ *QQClient, _ uint16, payload []byte) (interface{}, if err := proto.Unmarshal(pkg.Bodybuffer, &rsp); err != nil { return nil, errors.Wrap(err, "failed to unmarshal protobuf message") } - return nil, nil + return rsp.UploadFileRsp, nil } diff --git a/client/highway.go b/client/highway.go index 6cff7b6e..d323ec87 100644 --- a/client/highway.go +++ b/client/highway.go @@ -12,6 +12,7 @@ import ( "github.com/pkg/errors" "google.golang.org/protobuf/proto" "io" + "io/ioutil" "net" "net/http" "os" @@ -388,6 +389,84 @@ func highwayReadResponse(r *binary.NetworkReader) (*pb.RspDataHighwayHead, []byt return rsp, payload, nil } +func (c *QQClient) excitingUploadStream(stream io.ReadSeeker, cmdId int32, ticket, ext []byte) ([]byte, error) { + fileMd5, fileLength := utils.ComputeMd5AndLength(stream) + _, _ = stream.Seek(0, io.SeekStart) + url := fmt.Sprintf("http://%v/cgi-bin/httpconn?htcmd=0x6FF0087&uin=%v", c.srvSsoAddrs[0], c.Uin) + var ( + rspExt []byte + offset int64 = 0 + chunkSize = 524288 + ) + for { + chunk := make([]byte, chunkSize) + rl, err := io.ReadFull(stream, chunk) + if err == io.EOF { + break + } + if err == io.ErrUnexpectedEOF { + chunk = chunk[:rl] + } + ch := md5.Sum(chunk) + head, _ := proto.Marshal(&pb.ReqDataHighwayHead{ + MsgBasehead: &pb.DataHighwayHead{ + Version: 1, + Uin: strconv.FormatInt(c.Uin, 10), + Command: "PicUp.DataUp", + Seq: c.nextGroupDataTransSeq(), + Appid: int32(c.version.AppId), + Dataflag: 0, + CommandId: cmdId, + LocaleId: 0, + }, + MsgSeghead: &pb.SegHead{ + Filesize: fileLength, + Dataoffset: offset, + Datalength: int32(rl), + Serviceticket: ticket, + Md5: ch[:], + FileMd5: fileMd5, + }, + ReqExtendinfo: ext, + }) + offset += int64(rl) + req, _ := http.NewRequest("POST", url, bytes.NewReader(binary.NewWriterF(func(w *binary.Writer) { + w.WriteByte(40) + w.WriteUInt32(uint32(len(head))) + w.WriteUInt32(uint32(len(chunk))) + w.Write(head) + w.Write(chunk) + w.WriteByte(41) + }))) + req.Header.Set("Accept", "*/*") + req.Header.Set("Connection", "Keep-Alive") + req.Header.Set("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)") + req.Header.Set("Pragma", "no-cache") + rsp, err := http.DefaultClient.Do(req) + if err != nil { + return nil, errors.Wrap(err, "request error") + } + body, _ := ioutil.ReadAll(rsp.Body) + r := binary.NewReader(body) + r.ReadByte() + hl := r.ReadInt32() + a2 := r.ReadInt32() + h := r.ReadBytes(int(hl)) + r.ReadBytes(int(a2)) + rspHead := new(pb.RspDataHighwayHead) + if err = proto.Unmarshal(h, rspHead); err != nil { + return nil, errors.Wrap(err, "failed to unmarshal protobuf message") + } + if rspHead.ErrorCode != 0 { + return nil, errors.Errorf("upload failed: %d", rspHead.ErrorCode) + } + if rspHead.RspExtendinfo != nil { + rspExt = rspHead.RspExtendinfo + } + } + return rspExt, nil +} + // 只是为了写的跟上面一样长(bushi,当然也应该是最快的玩法 func (c *QQClient) uploadPtt(ip string, port int32, updKey, fileKey, data, md5 []byte) error { url := make([]byte, 512)[:0] diff --git a/client/pb/exciting/group.pb.go b/client/pb/exciting/group.pb.go new file mode 100644 index 00000000..45bb466e --- /dev/null +++ b/client/pb/exciting/group.pb.go @@ -0,0 +1,863 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.11.4 +// source: group.proto + +package exciting + +import ( + proto "github.com/golang/protobuf/proto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +type GroupFileUploadExt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Unknown1 *int32 `protobuf:"varint,1,opt,name=unknown1" json:"unknown1,omitempty"` + Unknown2 *int32 `protobuf:"varint,2,opt,name=unknown2" json:"unknown2,omitempty"` + Entry *GroupFileUploadEntry `protobuf:"bytes,100,opt,name=entry" json:"entry,omitempty"` + Unknown3 *int32 `protobuf:"varint,3,opt,name=unknown3" json:"unknown3,omitempty"` +} + +func (x *GroupFileUploadExt) Reset() { + *x = GroupFileUploadExt{} + if protoimpl.UnsafeEnabled { + mi := &file_group_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GroupFileUploadExt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupFileUploadExt) ProtoMessage() {} + +func (x *GroupFileUploadExt) ProtoReflect() protoreflect.Message { + mi := &file_group_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupFileUploadExt.ProtoReflect.Descriptor instead. +func (*GroupFileUploadExt) Descriptor() ([]byte, []int) { + return file_group_proto_rawDescGZIP(), []int{0} +} + +func (x *GroupFileUploadExt) GetUnknown1() int32 { + if x != nil && x.Unknown1 != nil { + return *x.Unknown1 + } + return 0 +} + +func (x *GroupFileUploadExt) GetUnknown2() int32 { + if x != nil && x.Unknown2 != nil { + return *x.Unknown2 + } + return 0 +} + +func (x *GroupFileUploadExt) GetEntry() *GroupFileUploadEntry { + if x != nil { + return x.Entry + } + return nil +} + +func (x *GroupFileUploadExt) GetUnknown3() int32 { + if x != nil && x.Unknown3 != nil { + return *x.Unknown3 + } + return 0 +} + +type GroupFileUploadEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BusiBuff *ExcitingBusiInfo `protobuf:"bytes,100,opt,name=busiBuff" json:"busiBuff,omitempty"` + FileEntry *ExcitingFileEntry `protobuf:"bytes,200,opt,name=fileEntry" json:"fileEntry,omitempty"` + ClientInfo *ExcitingClientInfo `protobuf:"bytes,300,opt,name=clientInfo" json:"clientInfo,omitempty"` + FileNameInfo *ExcitingFileNameInfo `protobuf:"bytes,400,opt,name=fileNameInfo" json:"fileNameInfo,omitempty"` + Host *ExcitingHostConfig `protobuf:"bytes,500,opt,name=host" json:"host,omitempty"` +} + +func (x *GroupFileUploadEntry) Reset() { + *x = GroupFileUploadEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_group_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GroupFileUploadEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupFileUploadEntry) ProtoMessage() {} + +func (x *GroupFileUploadEntry) ProtoReflect() protoreflect.Message { + mi := &file_group_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupFileUploadEntry.ProtoReflect.Descriptor instead. +func (*GroupFileUploadEntry) Descriptor() ([]byte, []int) { + return file_group_proto_rawDescGZIP(), []int{1} +} + +func (x *GroupFileUploadEntry) GetBusiBuff() *ExcitingBusiInfo { + if x != nil { + return x.BusiBuff + } + return nil +} + +func (x *GroupFileUploadEntry) GetFileEntry() *ExcitingFileEntry { + if x != nil { + return x.FileEntry + } + return nil +} + +func (x *GroupFileUploadEntry) GetClientInfo() *ExcitingClientInfo { + if x != nil { + return x.ClientInfo + } + return nil +} + +func (x *GroupFileUploadEntry) GetFileNameInfo() *ExcitingFileNameInfo { + if x != nil { + return x.FileNameInfo + } + return nil +} + +func (x *GroupFileUploadEntry) GetHost() *ExcitingHostConfig { + if x != nil { + return x.Host + } + return nil +} + +type ExcitingBusiInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BusId *int32 `protobuf:"varint,1,opt,name=busId" json:"busId,omitempty"` + SenderUin *int64 `protobuf:"varint,100,opt,name=senderUin" json:"senderUin,omitempty"` + ReceiverUin *int64 `protobuf:"varint,200,opt,name=receiverUin" json:"receiverUin,omitempty"` // probable + GroupCode *int64 `protobuf:"varint,400,opt,name=groupCode" json:"groupCode,omitempty"` // probable +} + +func (x *ExcitingBusiInfo) Reset() { + *x = ExcitingBusiInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_group_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExcitingBusiInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExcitingBusiInfo) ProtoMessage() {} + +func (x *ExcitingBusiInfo) ProtoReflect() protoreflect.Message { + mi := &file_group_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExcitingBusiInfo.ProtoReflect.Descriptor instead. +func (*ExcitingBusiInfo) Descriptor() ([]byte, []int) { + return file_group_proto_rawDescGZIP(), []int{2} +} + +func (x *ExcitingBusiInfo) GetBusId() int32 { + if x != nil && x.BusId != nil { + return *x.BusId + } + return 0 +} + +func (x *ExcitingBusiInfo) GetSenderUin() int64 { + if x != nil && x.SenderUin != nil { + return *x.SenderUin + } + return 0 +} + +func (x *ExcitingBusiInfo) GetReceiverUin() int64 { + if x != nil && x.ReceiverUin != nil { + return *x.ReceiverUin + } + return 0 +} + +func (x *ExcitingBusiInfo) GetGroupCode() int64 { + if x != nil && x.GroupCode != nil { + return *x.GroupCode + } + return 0 +} + +type ExcitingFileEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FileSize *int64 `protobuf:"varint,100,opt,name=fileSize" json:"fileSize,omitempty"` + Md5 []byte `protobuf:"bytes,200,opt,name=md5" json:"md5,omitempty"` + Sha1 []byte `protobuf:"bytes,300,opt,name=sha1" json:"sha1,omitempty"` + FileId []byte `protobuf:"bytes,600,opt,name=fileId" json:"fileId,omitempty"` + UploadKey []byte `protobuf:"bytes,700,opt,name=uploadKey" json:"uploadKey,omitempty"` +} + +func (x *ExcitingFileEntry) Reset() { + *x = ExcitingFileEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_group_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExcitingFileEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExcitingFileEntry) ProtoMessage() {} + +func (x *ExcitingFileEntry) ProtoReflect() protoreflect.Message { + mi := &file_group_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExcitingFileEntry.ProtoReflect.Descriptor instead. +func (*ExcitingFileEntry) Descriptor() ([]byte, []int) { + return file_group_proto_rawDescGZIP(), []int{3} +} + +func (x *ExcitingFileEntry) GetFileSize() int64 { + if x != nil && x.FileSize != nil { + return *x.FileSize + } + return 0 +} + +func (x *ExcitingFileEntry) GetMd5() []byte { + if x != nil { + return x.Md5 + } + return nil +} + +func (x *ExcitingFileEntry) GetSha1() []byte { + if x != nil { + return x.Sha1 + } + return nil +} + +func (x *ExcitingFileEntry) GetFileId() []byte { + if x != nil { + return x.FileId + } + return nil +} + +func (x *ExcitingFileEntry) GetUploadKey() []byte { + if x != nil { + return x.UploadKey + } + return nil +} + +type ExcitingClientInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ClientType *int32 `protobuf:"varint,100,opt,name=clientType" json:"clientType,omitempty"` // probable + AppId *string `protobuf:"bytes,200,opt,name=appId" json:"appId,omitempty"` + TerminalType *int32 `protobuf:"varint,300,opt,name=terminalType" json:"terminalType,omitempty"` // probable + ClientVer *string `protobuf:"bytes,400,opt,name=clientVer" json:"clientVer,omitempty"` + Unknown *int32 `protobuf:"varint,600,opt,name=unknown" json:"unknown,omitempty"` +} + +func (x *ExcitingClientInfo) Reset() { + *x = ExcitingClientInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_group_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExcitingClientInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExcitingClientInfo) ProtoMessage() {} + +func (x *ExcitingClientInfo) ProtoReflect() protoreflect.Message { + mi := &file_group_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExcitingClientInfo.ProtoReflect.Descriptor instead. +func (*ExcitingClientInfo) Descriptor() ([]byte, []int) { + return file_group_proto_rawDescGZIP(), []int{4} +} + +func (x *ExcitingClientInfo) GetClientType() int32 { + if x != nil && x.ClientType != nil { + return *x.ClientType + } + return 0 +} + +func (x *ExcitingClientInfo) GetAppId() string { + if x != nil && x.AppId != nil { + return *x.AppId + } + return "" +} + +func (x *ExcitingClientInfo) GetTerminalType() int32 { + if x != nil && x.TerminalType != nil { + return *x.TerminalType + } + return 0 +} + +func (x *ExcitingClientInfo) GetClientVer() string { + if x != nil && x.ClientVer != nil { + return *x.ClientVer + } + return "" +} + +func (x *ExcitingClientInfo) GetUnknown() int32 { + if x != nil && x.Unknown != nil { + return *x.Unknown + } + return 0 +} + +type ExcitingFileNameInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FileName *string `protobuf:"bytes,100,opt,name=fileName" json:"fileName,omitempty"` +} + +func (x *ExcitingFileNameInfo) Reset() { + *x = ExcitingFileNameInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_group_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExcitingFileNameInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExcitingFileNameInfo) ProtoMessage() {} + +func (x *ExcitingFileNameInfo) ProtoReflect() protoreflect.Message { + mi := &file_group_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExcitingFileNameInfo.ProtoReflect.Descriptor instead. +func (*ExcitingFileNameInfo) Descriptor() ([]byte, []int) { + return file_group_proto_rawDescGZIP(), []int{5} +} + +func (x *ExcitingFileNameInfo) GetFileName() string { + if x != nil && x.FileName != nil { + return *x.FileName + } + return "" +} + +type ExcitingHostConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Hosts []*ExcitingHostInfo `protobuf:"bytes,200,rep,name=hosts" json:"hosts,omitempty"` +} + +func (x *ExcitingHostConfig) Reset() { + *x = ExcitingHostConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_group_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExcitingHostConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExcitingHostConfig) ProtoMessage() {} + +func (x *ExcitingHostConfig) ProtoReflect() protoreflect.Message { + mi := &file_group_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExcitingHostConfig.ProtoReflect.Descriptor instead. +func (*ExcitingHostConfig) Descriptor() ([]byte, []int) { + return file_group_proto_rawDescGZIP(), []int{6} +} + +func (x *ExcitingHostConfig) GetHosts() []*ExcitingHostInfo { + if x != nil { + return x.Hosts + } + return nil +} + +type ExcitingHostInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Url *ExcitingUrlInfo `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"` + Port *int32 `protobuf:"varint,2,opt,name=port" json:"port,omitempty"` +} + +func (x *ExcitingHostInfo) Reset() { + *x = ExcitingHostInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_group_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExcitingHostInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExcitingHostInfo) ProtoMessage() {} + +func (x *ExcitingHostInfo) ProtoReflect() protoreflect.Message { + mi := &file_group_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExcitingHostInfo.ProtoReflect.Descriptor instead. +func (*ExcitingHostInfo) Descriptor() ([]byte, []int) { + return file_group_proto_rawDescGZIP(), []int{7} +} + +func (x *ExcitingHostInfo) GetUrl() *ExcitingUrlInfo { + if x != nil { + return x.Url + } + return nil +} + +func (x *ExcitingHostInfo) GetPort() int32 { + if x != nil && x.Port != nil { + return *x.Port + } + return 0 +} + +type ExcitingUrlInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Unknown *int32 `protobuf:"varint,1,opt,name=unknown" json:"unknown,omitempty"` // not https? + Host *string `protobuf:"bytes,2,opt,name=host" json:"host,omitempty"` +} + +func (x *ExcitingUrlInfo) Reset() { + *x = ExcitingUrlInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_group_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExcitingUrlInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExcitingUrlInfo) ProtoMessage() {} + +func (x *ExcitingUrlInfo) ProtoReflect() protoreflect.Message { + mi := &file_group_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExcitingUrlInfo.ProtoReflect.Descriptor instead. +func (*ExcitingUrlInfo) Descriptor() ([]byte, []int) { + return file_group_proto_rawDescGZIP(), []int{8} +} + +func (x *ExcitingUrlInfo) GetUnknown() int32 { + if x != nil && x.Unknown != nil { + return *x.Unknown + } + return 0 +} + +func (x *ExcitingUrlInfo) GetHost() string { + if x != nil && x.Host != nil { + return *x.Host + } + return "" +} + +var File_group_proto protoreflect.FileDescriptor + +var file_group_proto_rawDesc = []byte{ + 0x0a, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x01, + 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x45, 0x78, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x31, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x31, + 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x32, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x32, 0x12, 0x2b, 0x0a, 0x05, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x6e, 0x6b, + 0x6e, 0x6f, 0x77, 0x6e, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x75, 0x6e, 0x6b, + 0x6e, 0x6f, 0x77, 0x6e, 0x33, 0x22, 0x94, 0x02, 0x0a, 0x14, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, + 0x69, 0x6c, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2d, + 0x0a, 0x08, 0x62, 0x75, 0x73, 0x69, 0x42, 0x75, 0x66, 0x66, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x45, 0x78, 0x63, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x73, 0x69, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x62, 0x75, 0x73, 0x69, 0x42, 0x75, 0x66, 0x66, 0x12, 0x31, 0x0a, + 0x09, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x45, 0x78, 0x63, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x6c, 0x65, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x34, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0xac, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x45, 0x78, 0x63, 0x69, 0x74, 0x69, 0x6e, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x90, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x45, 0x78, 0x63, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0xf4, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x45, 0x78, 0x63, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x22, 0x88, 0x01, 0x0a, + 0x10, 0x45, 0x78, 0x63, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x73, 0x69, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x62, 0x75, 0x73, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x55, 0x69, 0x6e, 0x18, 0x64, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x55, 0x69, 0x6e, 0x12, 0x21, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x72, 0x55, 0x69, 0x6e, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x72, 0x55, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x90, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x11, 0x45, 0x78, 0x63, 0x69, + 0x74, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1a, 0x0a, + 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x11, 0x0a, 0x03, 0x6d, 0x64, 0x35, + 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6d, 0x64, 0x35, 0x12, 0x13, 0x0a, 0x04, + 0x73, 0x68, 0x61, 0x31, 0x18, 0xac, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x73, 0x68, 0x61, + 0x31, 0x12, 0x17, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x18, 0xd8, 0x04, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x4b, 0x65, 0x79, 0x18, 0xbc, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, + 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4b, 0x65, 0x79, 0x22, 0xaa, 0x01, 0x0a, 0x12, 0x45, 0x78, + 0x63, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x64, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x15, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0c, 0x74, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0xac, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, + 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x09, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x18, 0x90, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x07, 0x75, + 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x18, 0xd8, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x75, + 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x22, 0x32, 0x0a, 0x14, 0x45, 0x78, 0x63, 0x69, 0x74, 0x69, + 0x6e, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, + 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x0a, 0x12, 0x45, 0x78, + 0x63, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x28, 0x0a, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0xc8, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x45, 0x78, 0x63, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x22, 0x4a, 0x0a, 0x10, 0x45, 0x78, + 0x63, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, + 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x45, 0x78, + 0x63, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x55, 0x72, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x75, + 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x3f, 0x0a, 0x0f, 0x45, 0x78, 0x63, 0x69, 0x74, 0x69, + 0x6e, 0x67, 0x55, 0x72, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x6e, 0x6b, + 0x6e, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x75, 0x6e, 0x6b, 0x6e, + 0x6f, 0x77, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x3b, 0x65, 0x78, 0x63, + 0x69, 0x74, 0x69, 0x6e, 0x67, +} + +var ( + file_group_proto_rawDescOnce sync.Once + file_group_proto_rawDescData = file_group_proto_rawDesc +) + +func file_group_proto_rawDescGZIP() []byte { + file_group_proto_rawDescOnce.Do(func() { + file_group_proto_rawDescData = protoimpl.X.CompressGZIP(file_group_proto_rawDescData) + }) + return file_group_proto_rawDescData +} + +var file_group_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_group_proto_goTypes = []interface{}{ + (*GroupFileUploadExt)(nil), // 0: GroupFileUploadExt + (*GroupFileUploadEntry)(nil), // 1: GroupFileUploadEntry + (*ExcitingBusiInfo)(nil), // 2: ExcitingBusiInfo + (*ExcitingFileEntry)(nil), // 3: ExcitingFileEntry + (*ExcitingClientInfo)(nil), // 4: ExcitingClientInfo + (*ExcitingFileNameInfo)(nil), // 5: ExcitingFileNameInfo + (*ExcitingHostConfig)(nil), // 6: ExcitingHostConfig + (*ExcitingHostInfo)(nil), // 7: ExcitingHostInfo + (*ExcitingUrlInfo)(nil), // 8: ExcitingUrlInfo +} +var file_group_proto_depIdxs = []int32{ + 1, // 0: GroupFileUploadExt.entry:type_name -> GroupFileUploadEntry + 2, // 1: GroupFileUploadEntry.busiBuff:type_name -> ExcitingBusiInfo + 3, // 2: GroupFileUploadEntry.fileEntry:type_name -> ExcitingFileEntry + 4, // 3: GroupFileUploadEntry.clientInfo:type_name -> ExcitingClientInfo + 5, // 4: GroupFileUploadEntry.fileNameInfo:type_name -> ExcitingFileNameInfo + 6, // 5: GroupFileUploadEntry.host:type_name -> ExcitingHostConfig + 7, // 6: ExcitingHostConfig.hosts:type_name -> ExcitingHostInfo + 8, // 7: ExcitingHostInfo.url:type_name -> ExcitingUrlInfo + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { file_group_proto_init() } +func file_group_proto_init() { + if File_group_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_group_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GroupFileUploadExt); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_group_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GroupFileUploadEntry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_group_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExcitingBusiInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_group_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExcitingFileEntry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_group_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExcitingClientInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_group_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExcitingFileNameInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_group_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExcitingHostConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_group_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExcitingHostInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_group_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExcitingUrlInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_group_proto_rawDesc, + NumEnums: 0, + NumMessages: 9, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_group_proto_goTypes, + DependencyIndexes: file_group_proto_depIdxs, + MessageInfos: file_group_proto_msgTypes, + }.Build() + File_group_proto = out.File + file_group_proto_rawDesc = nil + file_group_proto_goTypes = nil + file_group_proto_depIdxs = nil +} diff --git a/client/pb/exciting/group.proto b/client/pb/exciting/group.proto new file mode 100644 index 00000000..b8b525d4 --- /dev/null +++ b/client/pb/exciting/group.proto @@ -0,0 +1,59 @@ +syntax = "proto2"; + +option go_package = ".;exciting"; + +message GroupFileUploadExt { + optional int32 unknown1 = 1; + optional int32 unknown2 = 2; + optional GroupFileUploadEntry entry = 100; + optional int32 unknown3 = 3; +} + +message GroupFileUploadEntry { + optional ExcitingBusiInfo busiBuff = 100; + optional ExcitingFileEntry fileEntry = 200; + optional ExcitingClientInfo clientInfo = 300; + optional ExcitingFileNameInfo fileNameInfo = 400; + optional ExcitingHostConfig host = 500; +} + +message ExcitingBusiInfo { + optional int32 busId = 1; + optional int64 senderUin = 100; + optional int64 receiverUin = 200; // probable + optional int64 groupCode = 400; // probable +} + +message ExcitingFileEntry { + optional int64 fileSize = 100; + optional bytes md5 = 200; + optional bytes sha1 = 300; + optional bytes fileId = 600; + optional bytes uploadKey = 700; +} + +message ExcitingClientInfo { + optional int32 clientType = 100; // probable + optional string appId = 200; + optional int32 terminalType = 300; // probable + optional string clientVer = 400; + optional int32 unknown = 600; +} + +message ExcitingFileNameInfo {// probable + optional string fileName = 100; +} + +message ExcitingHostConfig { + repeated ExcitingHostInfo hosts = 200; +} + +message ExcitingHostInfo { + optional ExcitingUrlInfo url = 1; + optional int32 port = 2; +} + +message ExcitingUrlInfo { + optional int32 unknown = 1; // not https? + optional string host = 2; +} \ No newline at end of file diff --git a/client/pb/oidb/oidb0x6d6.pb.go b/client/pb/oidb/oidb0x6d6.pb.go index f19d6039..7584e4b1 100644 --- a/client/pb/oidb/oidb0x6d6.pb.go +++ b/client/pb/oidb/oidb0x6d6.pb.go @@ -1050,17 +1050,18 @@ type UploadFileReqBody struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - GroupCode int64 `protobuf:"varint,1,opt,name=groupCode,proto3" json:"groupCode,omitempty"` - AppId int32 `protobuf:"varint,2,opt,name=appId,proto3" json:"appId,omitempty"` - BusId int32 `protobuf:"varint,3,opt,name=busId,proto3" json:"busId,omitempty"` - Entrance int32 `protobuf:"varint,4,opt,name=entrance,proto3" json:"entrance,omitempty"` - ParentFolderId string `protobuf:"bytes,5,opt,name=parentFolderId,proto3" json:"parentFolderId,omitempty"` - FileName string `protobuf:"bytes,6,opt,name=fileName,proto3" json:"fileName,omitempty"` - LocalPath string `protobuf:"bytes,7,opt,name=localPath,proto3" json:"localPath,omitempty"` - Int64FileSize int64 `protobuf:"varint,8,opt,name=int64FileSize,proto3" json:"int64FileSize,omitempty"` - Sha []byte `protobuf:"bytes,9,opt,name=sha,proto3" json:"sha,omitempty"` - Sha3 []byte `protobuf:"bytes,10,opt,name=sha3,proto3" json:"sha3,omitempty"` - Md5 []byte `protobuf:"bytes,11,opt,name=md5,proto3" json:"md5,omitempty"` + GroupCode int64 `protobuf:"varint,1,opt,name=groupCode,proto3" json:"groupCode,omitempty"` + AppId int32 `protobuf:"varint,2,opt,name=appId,proto3" json:"appId,omitempty"` + BusId int32 `protobuf:"varint,3,opt,name=busId,proto3" json:"busId,omitempty"` + Entrance int32 `protobuf:"varint,4,opt,name=entrance,proto3" json:"entrance,omitempty"` + ParentFolderId string `protobuf:"bytes,5,opt,name=parentFolderId,proto3" json:"parentFolderId,omitempty"` + FileName string `protobuf:"bytes,6,opt,name=fileName,proto3" json:"fileName,omitempty"` + LocalPath string `protobuf:"bytes,7,opt,name=localPath,proto3" json:"localPath,omitempty"` + Int64FileSize int64 `protobuf:"varint,8,opt,name=int64FileSize,proto3" json:"int64FileSize,omitempty"` + Sha []byte `protobuf:"bytes,9,opt,name=sha,proto3" json:"sha,omitempty"` + Sha3 []byte `protobuf:"bytes,10,opt,name=sha3,proto3" json:"sha3,omitempty"` + Md5 []byte `protobuf:"bytes,11,opt,name=md5,proto3" json:"md5,omitempty"` + SupportMultiUpload bool `protobuf:"varint,15,opt,name=supportMultiUpload,proto3" json:"supportMultiUpload,omitempty"` } func (x *UploadFileReqBody) Reset() { @@ -1172,21 +1173,31 @@ func (x *UploadFileReqBody) GetMd5() []byte { return nil } +func (x *UploadFileReqBody) GetSupportMultiUpload() bool { + if x != nil { + return x.SupportMultiUpload + } + return false +} + type UploadFileRspBody struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - RetCode int32 `protobuf:"varint,1,opt,name=retCode,proto3" json:"retCode,omitempty"` - RetMsg string `protobuf:"bytes,2,opt,name=retMsg,proto3" json:"retMsg,omitempty"` - ClientWording string `protobuf:"bytes,3,opt,name=clientWording,proto3" json:"clientWording,omitempty"` - UploadIp string `protobuf:"bytes,4,opt,name=uploadIp,proto3" json:"uploadIp,omitempty"` - ServerDns string `protobuf:"bytes,5,opt,name=serverDns,proto3" json:"serverDns,omitempty"` - BusId int32 `protobuf:"varint,6,opt,name=busId,proto3" json:"busId,omitempty"` - FileId string `protobuf:"bytes,7,opt,name=fileId,proto3" json:"fileId,omitempty"` - FileKey []byte `protobuf:"bytes,8,opt,name=fileKey,proto3" json:"fileKey,omitempty"` - CheckKey []byte `protobuf:"bytes,9,opt,name=checkKey,proto3" json:"checkKey,omitempty"` - BoolFileExist bool `protobuf:"varint,10,opt,name=boolFileExist,proto3" json:"boolFileExist,omitempty"` + RetCode int32 `protobuf:"varint,1,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,2,opt,name=retMsg,proto3" json:"retMsg,omitempty"` + ClientWording string `protobuf:"bytes,3,opt,name=clientWording,proto3" json:"clientWording,omitempty"` + UploadIp string `protobuf:"bytes,4,opt,name=uploadIp,proto3" json:"uploadIp,omitempty"` + ServerDns string `protobuf:"bytes,5,opt,name=serverDns,proto3" json:"serverDns,omitempty"` + BusId int32 `protobuf:"varint,6,opt,name=busId,proto3" json:"busId,omitempty"` + FileId string `protobuf:"bytes,7,opt,name=fileId,proto3" json:"fileId,omitempty"` + FileKey []byte `protobuf:"bytes,8,opt,name=fileKey,proto3" json:"fileKey,omitempty"` + CheckKey []byte `protobuf:"bytes,9,opt,name=checkKey,proto3" json:"checkKey,omitempty"` + BoolFileExist bool `protobuf:"varint,10,opt,name=boolFileExist,proto3" json:"boolFileExist,omitempty"` + UploadIpLanV4 []string `protobuf:"bytes,12,rep,name=uploadIpLanV4,proto3" json:"uploadIpLanV4,omitempty"` + UploadIpLanV6 []string `protobuf:"bytes,13,rep,name=uploadIpLanV6,proto3" json:"uploadIpLanV6,omitempty"` + UploadPort int32 `protobuf:"varint,14,opt,name=uploadPort,proto3" json:"uploadPort,omitempty"` } func (x *UploadFileRspBody) Reset() { @@ -1291,6 +1302,27 @@ func (x *UploadFileRspBody) GetBoolFileExist() bool { return false } +func (x *UploadFileRspBody) GetUploadIpLanV4() []string { + if x != nil { + return x.UploadIpLanV4 + } + return nil +} + +func (x *UploadFileRspBody) GetUploadIpLanV6() []string { + if x != nil { + return x.UploadIpLanV6 + } + return nil +} + +func (x *UploadFileRspBody) GetUploadPort() int32 { + if x != nil { + return x.UploadPort + } + return 0 +} + var File_oidb0x6d6_proto protoreflect.FileDescriptor var file_oidb0x6d6_proto_rawDesc = []byte{ @@ -1454,7 +1486,7 @@ var file_oidb0x6d6_proto_rawDesc = []byte{ 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x12, 0x32, 0x0a, 0x0b, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79, - 0x52, 0x0b, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x22, 0xb9, 0x02, + 0x52, 0x0b, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x22, 0xe9, 0x02, 0x0a, 0x11, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, @@ -1474,7 +1506,10 @@ var file_oidb0x6d6_proto_rawDesc = []byte{ 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x68, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x68, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x68, 0x61, 0x33, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x73, 0x68, 0x61, 0x33, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x64, 0x35, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6d, 0x64, 0x35, 0x22, 0xaf, 0x02, 0x0a, 0x11, 0x55, 0x70, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6d, 0x64, 0x35, 0x12, 0x2e, 0x0a, 0x12, 0x73, 0x75, 0x70, + 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x75, + 0x6c, 0x74, 0x69, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x9b, 0x03, 0x0a, 0x11, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x74, @@ -1493,8 +1528,15 @@ var file_oidb0x6d6_proto_rawDesc = []byte{ 0x63, 0x6b, 0x4b, 0x65, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x4b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x62, 0x6f, - 0x6f, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x42, 0x08, 0x5a, 0x06, 0x2e, - 0x3b, 0x6f, 0x69, 0x64, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x75, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x70, 0x4c, 0x61, 0x6e, 0x56, 0x34, 0x18, 0x0c, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0d, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x70, 0x4c, 0x61, 0x6e, 0x56, + 0x34, 0x12, 0x24, 0x0a, 0x0d, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x70, 0x4c, 0x61, 0x6e, + 0x56, 0x36, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x49, 0x70, 0x4c, 0x61, 0x6e, 0x56, 0x36, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x75, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x42, 0x08, 0x5a, 0x06, 0x2e, 0x3b, 0x6f, 0x69, 0x64, + 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/client/pb/oidb/oidb0x6d6.proto b/client/pb/oidb/oidb0x6d6.proto index a5d3b699..57be6b75 100644 --- a/client/pb/oidb/oidb0x6d6.proto +++ b/client/pb/oidb/oidb0x6d6.proto @@ -107,6 +107,7 @@ message UploadFileReqBody { bytes sha = 9; bytes sha3 = 10; bytes md5 = 11; + bool supportMultiUpload = 15; } message UploadFileRspBody { int32 retCode = 1; @@ -119,4 +120,7 @@ message UploadFileRspBody { bytes fileKey = 8; bytes checkKey = 9; bool boolFileExist = 10; + repeated string uploadIpLanV4 = 12; + repeated string uploadIpLanV6 = 13; + int32 uploadPort = 14; } diff --git a/client/pb/oidb/oidb0x6d9.pb.go b/client/pb/oidb/oidb0x6d9.pb.go index b324162c..335e2431 100644 --- a/client/pb/oidb/oidb0x6d9.pb.go +++ b/client/pb/oidb/oidb0x6d9.pb.go @@ -25,6 +25,85 @@ const ( // of the legacy proto package is being used. const _ = proto.ProtoPackageIsVersion4 +type GroupFileFeedsInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BusId *uint32 `protobuf:"varint,1,opt,name=busId" json:"busId,omitempty"` + FileId *string `protobuf:"bytes,2,opt,name=fileId" json:"fileId,omitempty"` + MsgRandom *uint32 `protobuf:"varint,3,opt,name=msgRandom" json:"msgRandom,omitempty"` + Ext []byte `protobuf:"bytes,4,opt,name=ext" json:"ext,omitempty"` + FeedFlag *uint32 `protobuf:"varint,5,opt,name=feedFlag" json:"feedFlag,omitempty"` +} + +func (x *GroupFileFeedsInfo) Reset() { + *x = GroupFileFeedsInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_oidb0x6d9_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GroupFileFeedsInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupFileFeedsInfo) ProtoMessage() {} + +func (x *GroupFileFeedsInfo) ProtoReflect() protoreflect.Message { + mi := &file_oidb0x6d9_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupFileFeedsInfo.ProtoReflect.Descriptor instead. +func (*GroupFileFeedsInfo) Descriptor() ([]byte, []int) { + return file_oidb0x6d9_proto_rawDescGZIP(), []int{0} +} + +func (x *GroupFileFeedsInfo) GetBusId() uint32 { + if x != nil && x.BusId != nil { + return *x.BusId + } + return 0 +} + +func (x *GroupFileFeedsInfo) GetFileId() string { + if x != nil && x.FileId != nil { + return *x.FileId + } + return "" +} + +func (x *GroupFileFeedsInfo) GetMsgRandom() uint32 { + if x != nil && x.MsgRandom != nil { + return *x.MsgRandom + } + return 0 +} + +func (x *GroupFileFeedsInfo) GetExt() []byte { + if x != nil { + return x.Ext + } + return nil +} + +func (x *GroupFileFeedsInfo) GetFeedFlag() uint32 { + if x != nil && x.FeedFlag != nil { + return *x.FeedFlag + } + return 0 +} + type CopyFromReqBody struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -47,7 +126,7 @@ type CopyFromReqBody struct { func (x *CopyFromReqBody) Reset() { *x = CopyFromReqBody{} if protoimpl.UnsafeEnabled { - mi := &file_oidb0x6d9_proto_msgTypes[0] + mi := &file_oidb0x6d9_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60,7 +139,7 @@ func (x *CopyFromReqBody) String() string { func (*CopyFromReqBody) ProtoMessage() {} func (x *CopyFromReqBody) ProtoReflect() protoreflect.Message { - mi := &file_oidb0x6d9_proto_msgTypes[0] + mi := &file_oidb0x6d9_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -73,7 +152,7 @@ func (x *CopyFromReqBody) ProtoReflect() protoreflect.Message { // Deprecated: Use CopyFromReqBody.ProtoReflect.Descriptor instead. func (*CopyFromReqBody) Descriptor() ([]byte, []int) { - return file_oidb0x6d9_proto_rawDescGZIP(), []int{0} + return file_oidb0x6d9_proto_rawDescGZIP(), []int{1} } func (x *CopyFromReqBody) GetGroupCode() uint64 { @@ -175,7 +254,7 @@ type CopyFromRspBody struct { func (x *CopyFromRspBody) Reset() { *x = CopyFromRspBody{} if protoimpl.UnsafeEnabled { - mi := &file_oidb0x6d9_proto_msgTypes[1] + mi := &file_oidb0x6d9_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -188,7 +267,7 @@ func (x *CopyFromRspBody) String() string { func (*CopyFromRspBody) ProtoMessage() {} func (x *CopyFromRspBody) ProtoReflect() protoreflect.Message { - mi := &file_oidb0x6d9_proto_msgTypes[1] + mi := &file_oidb0x6d9_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -201,7 +280,7 @@ func (x *CopyFromRspBody) ProtoReflect() protoreflect.Message { // Deprecated: Use CopyFromRspBody.ProtoReflect.Descriptor instead. func (*CopyFromRspBody) Descriptor() ([]byte, []int) { - return file_oidb0x6d9_proto_rawDescGZIP(), []int{1} + return file_oidb0x6d9_proto_rawDescGZIP(), []int{2} } func (x *CopyFromRspBody) GetRetCode() int32 { @@ -260,7 +339,7 @@ type CopyToReqBody struct { func (x *CopyToReqBody) Reset() { *x = CopyToReqBody{} if protoimpl.UnsafeEnabled { - mi := &file_oidb0x6d9_proto_msgTypes[2] + mi := &file_oidb0x6d9_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -273,7 +352,7 @@ func (x *CopyToReqBody) String() string { func (*CopyToReqBody) ProtoMessage() {} func (x *CopyToReqBody) ProtoReflect() protoreflect.Message { - mi := &file_oidb0x6d9_proto_msgTypes[2] + mi := &file_oidb0x6d9_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -286,7 +365,7 @@ func (x *CopyToReqBody) ProtoReflect() protoreflect.Message { // Deprecated: Use CopyToReqBody.ProtoReflect.Descriptor instead. func (*CopyToReqBody) Descriptor() ([]byte, []int) { - return file_oidb0x6d9_proto_rawDescGZIP(), []int{2} + return file_oidb0x6d9_proto_rawDescGZIP(), []int{3} } func (x *CopyToReqBody) GetGroupCode() uint64 { @@ -382,7 +461,7 @@ type CopyToRspBody struct { func (x *CopyToRspBody) Reset() { *x = CopyToRspBody{} if protoimpl.UnsafeEnabled { - mi := &file_oidb0x6d9_proto_msgTypes[3] + mi := &file_oidb0x6d9_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -395,7 +474,7 @@ func (x *CopyToRspBody) String() string { func (*CopyToRspBody) ProtoMessage() {} func (x *CopyToRspBody) ProtoReflect() protoreflect.Message { - mi := &file_oidb0x6d9_proto_msgTypes[3] + mi := &file_oidb0x6d9_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -408,7 +487,7 @@ func (x *CopyToRspBody) ProtoReflect() protoreflect.Message { // Deprecated: Use CopyToRspBody.ProtoReflect.Descriptor instead. func (*CopyToRspBody) Descriptor() ([]byte, []int) { - return file_oidb0x6d9_proto_rawDescGZIP(), []int{3} + return file_oidb0x6d9_proto_rawDescGZIP(), []int{4} } func (x *CopyToRspBody) GetRetCode() int32 { @@ -458,16 +537,16 @@ type FeedsReqBody struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - GroupCode *uint64 `protobuf:"varint,1,opt,name=groupCode" json:"groupCode,omitempty"` - AppId *uint32 `protobuf:"varint,2,opt,name=appId" json:"appId,omitempty"` - //repeated C8639group_file_common.FeedsInfo feedsInfoList = 3; - MultiSendSeq *uint32 `protobuf:"varint,4,opt,name=multiSendSeq" json:"multiSendSeq,omitempty"` + GroupCode *uint64 `protobuf:"varint,1,opt,name=groupCode" json:"groupCode,omitempty"` + AppId *uint32 `protobuf:"varint,2,opt,name=appId" json:"appId,omitempty"` + FeedsInfoList []*GroupFileFeedsInfo `protobuf:"bytes,3,rep,name=feedsInfoList" json:"feedsInfoList,omitempty"` + MultiSendSeq *uint32 `protobuf:"varint,4,opt,name=multiSendSeq" json:"multiSendSeq,omitempty"` } func (x *FeedsReqBody) Reset() { *x = FeedsReqBody{} if protoimpl.UnsafeEnabled { - mi := &file_oidb0x6d9_proto_msgTypes[4] + mi := &file_oidb0x6d9_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -480,7 +559,7 @@ func (x *FeedsReqBody) String() string { func (*FeedsReqBody) ProtoMessage() {} func (x *FeedsReqBody) ProtoReflect() protoreflect.Message { - mi := &file_oidb0x6d9_proto_msgTypes[4] + mi := &file_oidb0x6d9_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -493,7 +572,7 @@ func (x *FeedsReqBody) ProtoReflect() protoreflect.Message { // Deprecated: Use FeedsReqBody.ProtoReflect.Descriptor instead. func (*FeedsReqBody) Descriptor() ([]byte, []int) { - return file_oidb0x6d9_proto_rawDescGZIP(), []int{4} + return file_oidb0x6d9_proto_rawDescGZIP(), []int{5} } func (x *FeedsReqBody) GetGroupCode() uint64 { @@ -510,6 +589,13 @@ func (x *FeedsReqBody) GetAppId() uint32 { return 0 } +func (x *FeedsReqBody) GetFeedsInfoList() []*GroupFileFeedsInfo { + if x != nil { + return x.FeedsInfoList + } + return nil +} + func (x *FeedsReqBody) GetMultiSendSeq() uint32 { if x != nil && x.MultiSendSeq != nil { return *x.MultiSendSeq @@ -532,7 +618,7 @@ type FeedsRspBody struct { func (x *FeedsRspBody) Reset() { *x = FeedsRspBody{} if protoimpl.UnsafeEnabled { - mi := &file_oidb0x6d9_proto_msgTypes[5] + mi := &file_oidb0x6d9_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -545,7 +631,7 @@ func (x *FeedsRspBody) String() string { func (*FeedsRspBody) ProtoMessage() {} func (x *FeedsRspBody) ProtoReflect() protoreflect.Message { - mi := &file_oidb0x6d9_proto_msgTypes[5] + mi := &file_oidb0x6d9_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -558,7 +644,7 @@ func (x *FeedsRspBody) ProtoReflect() protoreflect.Message { // Deprecated: Use FeedsRspBody.ProtoReflect.Descriptor instead. func (*FeedsRspBody) Descriptor() ([]byte, []int) { - return file_oidb0x6d9_proto_rawDescGZIP(), []int{5} + return file_oidb0x6d9_proto_rawDescGZIP(), []int{6} } func (x *FeedsRspBody) GetRetCode() int32 { @@ -603,7 +689,7 @@ type D6D9ReqBody struct { func (x *D6D9ReqBody) Reset() { *x = D6D9ReqBody{} if protoimpl.UnsafeEnabled { - mi := &file_oidb0x6d9_proto_msgTypes[6] + mi := &file_oidb0x6d9_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -616,7 +702,7 @@ func (x *D6D9ReqBody) String() string { func (*D6D9ReqBody) ProtoMessage() {} func (x *D6D9ReqBody) ProtoReflect() protoreflect.Message { - mi := &file_oidb0x6d9_proto_msgTypes[6] + mi := &file_oidb0x6d9_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -629,7 +715,7 @@ func (x *D6D9ReqBody) ProtoReflect() protoreflect.Message { // Deprecated: Use D6D9ReqBody.ProtoReflect.Descriptor instead. func (*D6D9ReqBody) Descriptor() ([]byte, []int) { - return file_oidb0x6d9_proto_rawDescGZIP(), []int{6} + return file_oidb0x6d9_proto_rawDescGZIP(), []int{7} } func (x *D6D9ReqBody) GetTransFileReq() *TransFileReqBody { @@ -674,7 +760,7 @@ type D6D9RspBody struct { func (x *D6D9RspBody) Reset() { *x = D6D9RspBody{} if protoimpl.UnsafeEnabled { - mi := &file_oidb0x6d9_proto_msgTypes[7] + mi := &file_oidb0x6d9_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -687,7 +773,7 @@ func (x *D6D9RspBody) String() string { func (*D6D9RspBody) ProtoMessage() {} func (x *D6D9RspBody) ProtoReflect() protoreflect.Message { - mi := &file_oidb0x6d9_proto_msgTypes[7] + mi := &file_oidb0x6d9_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -700,7 +786,7 @@ func (x *D6D9RspBody) ProtoReflect() protoreflect.Message { // Deprecated: Use D6D9RspBody.ProtoReflect.Descriptor instead. func (*D6D9RspBody) Descriptor() ([]byte, []int) { - return file_oidb0x6d9_proto_rawDescGZIP(), []int{7} + return file_oidb0x6d9_proto_rawDescGZIP(), []int{8} } func (x *D6D9RspBody) GetTransFileRsp() *TransFileRspBody { @@ -745,7 +831,7 @@ type TransFileReqBody struct { func (x *TransFileReqBody) Reset() { *x = TransFileReqBody{} if protoimpl.UnsafeEnabled { - mi := &file_oidb0x6d9_proto_msgTypes[8] + mi := &file_oidb0x6d9_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -758,7 +844,7 @@ func (x *TransFileReqBody) String() string { func (*TransFileReqBody) ProtoMessage() {} func (x *TransFileReqBody) ProtoReflect() protoreflect.Message { - mi := &file_oidb0x6d9_proto_msgTypes[8] + mi := &file_oidb0x6d9_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -771,7 +857,7 @@ func (x *TransFileReqBody) ProtoReflect() protoreflect.Message { // Deprecated: Use TransFileReqBody.ProtoReflect.Descriptor instead. func (*TransFileReqBody) Descriptor() ([]byte, []int) { - return file_oidb0x6d9_proto_rawDescGZIP(), []int{8} + return file_oidb0x6d9_proto_rawDescGZIP(), []int{9} } func (x *TransFileReqBody) GetGroupCode() uint64 { @@ -817,7 +903,7 @@ type TransFileRspBody struct { func (x *TransFileRspBody) Reset() { *x = TransFileRspBody{} if protoimpl.UnsafeEnabled { - mi := &file_oidb0x6d9_proto_msgTypes[9] + mi := &file_oidb0x6d9_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -830,7 +916,7 @@ func (x *TransFileRspBody) String() string { func (*TransFileRspBody) ProtoMessage() {} func (x *TransFileRspBody) ProtoReflect() protoreflect.Message { - mi := &file_oidb0x6d9_proto_msgTypes[9] + mi := &file_oidb0x6d9_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -843,7 +929,7 @@ func (x *TransFileRspBody) ProtoReflect() protoreflect.Message { // Deprecated: Use TransFileRspBody.ProtoReflect.Descriptor instead. func (*TransFileRspBody) Descriptor() ([]byte, []int) { - return file_oidb0x6d9_proto_rawDescGZIP(), []int{9} + return file_oidb0x6d9_proto_rawDescGZIP(), []int{10} } func (x *TransFileRspBody) GetRetCode() int32 { @@ -885,139 +971,152 @@ var File_oidb0x6d9_proto protoreflect.FileDescriptor var file_oidb0x6d9_proto_rawDesc = []byte{ 0x0a, 0x0f, 0x6f, 0x69, 0x64, 0x62, 0x30, 0x78, 0x36, 0x64, 0x39, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0xeb, 0x02, 0x0a, 0x0f, 0x43, 0x6f, 0x70, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, - 0x71, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, - 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x72, 0x63, - 0x42, 0x75, 0x73, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x72, 0x63, - 0x42, 0x75, 0x73, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x72, 0x63, 0x50, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, - 0x73, 0x72, 0x63, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12, - 0x20, 0x0a, 0x0b, 0x73, 0x72, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x72, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, - 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x73, 0x74, 0x42, 0x75, 0x73, 0x49, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x73, 0x74, 0x42, 0x75, 0x73, 0x49, 0x64, 0x12, 0x20, 0x0a, - 0x0b, 0x64, 0x73, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0b, 0x64, 0x73, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x72, 0x63, 0x55, 0x69, 0x6e, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x72, 0x63, 0x55, 0x69, 0x6e, 0x12, 0x10, 0x0a, - 0x03, 0x6d, 0x64, 0x35, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6d, 0x64, 0x35, 0x22, - 0xa3, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x70, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x73, 0x70, 0x42, - 0x6f, 0x64, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, - 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, - 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x73, - 0x61, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, - 0x14, 0x0a, 0x05, 0x62, 0x75, 0x73, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x62, 0x75, 0x73, 0x49, 0x64, 0x22, 0x8f, 0x03, 0x0a, 0x0d, 0x43, 0x6f, 0x70, 0x79, 0x54, 0x6f, - 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, - 0x72, 0x63, 0x42, 0x75, 0x73, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, - 0x72, 0x63, 0x42, 0x75, 0x73, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x72, 0x63, 0x46, 0x69, - 0x6c, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x72, 0x63, 0x46, - 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x73, 0x74, 0x42, 0x75, 0x73, 0x49, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x73, 0x74, 0x42, 0x75, 0x73, 0x49, - 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x73, 0x74, 0x55, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x64, 0x73, 0x74, 0x55, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x65, 0x77, - 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x74, - 0x69, 0x6d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x64, 0x69, 0x72, 0x4b, 0x65, 0x79, 0x18, 0x64, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x74, 0x69, 0x6d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x64, - 0x69, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x50, 0x70, 0x64, 0x69, 0x72, 0x4b, 0x65, 0x79, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x10, 0x74, 0x69, 0x6d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x70, 0x64, 0x69, 0x72, 0x4b, 0x65, - 0x79, 0x12, 0x34, 0x0a, 0x15, 0x74, 0x69, 0x6d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x45, 0x78, 0x74, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x15, 0x74, 0x69, 0x6d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, - 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x12, 0x74, 0x69, 0x6d, 0x46, 0x69, - 0x6c, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x67, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x69, 0x6d, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x73, - 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbd, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x70, 0x79, - 0x54, 0x6f, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, - 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x64, 0x69, 0x6e, - 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, - 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x46, 0x69, 0x6c, - 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x73, 0x49, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x62, 0x75, 0x73, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, - 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, - 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x66, 0x0a, 0x0c, 0x46, 0x65, 0x65, 0x64, 0x73, - 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6d, - 0x75, 0x6c, 0x74, 0x69, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x71, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0c, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x71, 0x22, - 0x90, 0x01, 0x0a, 0x0c, 0x46, 0x65, 0x65, 0x64, 0x73, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79, - 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, - 0x74, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x74, 0x4d, - 0x73, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x64, - 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x57, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x76, 0x72, 0x62, - 0x75, 0x73, 0x79, 0x57, 0x61, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0f, 0x73, 0x76, 0x72, 0x62, 0x75, 0x73, 0x79, 0x57, 0x61, 0x69, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x22, 0xd9, 0x01, 0x0a, 0x0b, 0x44, 0x36, 0x44, 0x39, 0x52, 0x65, 0x71, 0x42, 0x6f, - 0x64, 0x79, 0x12, 0x35, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x52, - 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x0c, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x32, 0x0a, 0x0b, 0x63, 0x6f, 0x70, - 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, - 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, - 0x52, 0x0b, 0x63, 0x6f, 0x70, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x2c, 0x0a, - 0x09, 0x63, 0x6f, 0x70, 0x79, 0x54, 0x6f, 0x52, 0x65, 0x71, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x54, 0x6f, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, - 0x52, 0x09, 0x63, 0x6f, 0x70, 0x79, 0x54, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x31, 0x0a, 0x0c, 0x66, - 0x65, 0x65, 0x64, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0d, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x73, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, - 0x52, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0xd9, - 0x01, 0x0a, 0x0b, 0x44, 0x36, 0x44, 0x39, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x35, - 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x46, 0x69, 0x6c, 0x65, - 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x46, 0x69, - 0x6c, 0x65, 0x52, 0x73, 0x70, 0x12, 0x32, 0x0a, 0x0b, 0x63, 0x6f, 0x70, 0x79, 0x46, 0x72, 0x6f, - 0x6d, 0x52, 0x73, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x43, 0x6f, 0x70, - 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x0b, 0x63, 0x6f, - 0x70, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x6f, 0x70, - 0x79, 0x54, 0x6f, 0x52, 0x73, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x43, - 0x6f, 0x70, 0x79, 0x54, 0x6f, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x09, 0x63, 0x6f, - 0x70, 0x79, 0x54, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x73, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, - 0x46, 0x65, 0x65, 0x64, 0x73, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x0c, 0x66, 0x65, - 0x65, 0x64, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x22, 0x74, 0x0a, 0x10, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x1c, - 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, - 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x73, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x05, 0x62, 0x75, 0x73, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x65, - 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, - 0x22, 0xac, 0x01, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, - 0x70, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x57, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, - 0x09, 0x73, 0x61, 0x76, 0x65, 0x42, 0x75, 0x73, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x73, 0x61, 0x76, 0x65, 0x42, 0x75, 0x73, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, - 0x61, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x42, - 0x08, 0x5a, 0x06, 0x2e, 0x3b, 0x6f, 0x69, 0x64, 0x62, + 0x6f, 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x46, + 0x65, 0x65, 0x64, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x73, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x62, 0x75, 0x73, 0x49, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x73, 0x67, 0x52, 0x61, 0x6e, + 0x64, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x73, 0x67, 0x52, 0x61, + 0x6e, 0x64, 0x6f, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x03, 0x65, 0x78, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6c, + 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6c, + 0x61, 0x67, 0x22, 0xeb, 0x02, 0x0a, 0x0f, 0x43, 0x6f, 0x70, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x52, + 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x72, + 0x63, 0x42, 0x75, 0x73, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x72, + 0x63, 0x42, 0x75, 0x73, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x72, 0x63, 0x50, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x0f, 0x73, 0x72, 0x63, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, + 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x72, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x72, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, + 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x73, 0x74, 0x42, 0x75, 0x73, 0x49, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x73, 0x74, 0x42, 0x75, 0x73, 0x49, 0x64, 0x12, 0x20, + 0x0a, 0x0b, 0x64, 0x73, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x64, 0x73, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, + 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, + 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x72, 0x63, 0x55, 0x69, 0x6e, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x72, 0x63, 0x55, 0x69, 0x6e, 0x12, 0x10, + 0x0a, 0x03, 0x6d, 0x64, 0x35, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6d, 0x64, 0x35, + 0x22, 0xa3, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x70, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x73, 0x70, + 0x42, 0x6f, 0x64, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x57, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x0c, + 0x73, 0x61, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, + 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x73, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x05, 0x62, 0x75, 0x73, 0x49, 0x64, 0x22, 0x8f, 0x03, 0x0a, 0x0d, 0x43, 0x6f, 0x70, 0x79, 0x54, + 0x6f, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x73, 0x72, 0x63, 0x42, 0x75, 0x73, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x73, 0x72, 0x63, 0x42, 0x75, 0x73, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x72, 0x63, 0x46, + 0x69, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x72, 0x63, + 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x73, 0x74, 0x42, 0x75, 0x73, + 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x73, 0x74, 0x42, 0x75, 0x73, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x73, 0x74, 0x55, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x64, 0x73, 0x74, 0x55, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x65, + 0x77, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, + 0x74, 0x69, 0x6d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x64, 0x69, 0x72, 0x4b, 0x65, 0x79, 0x18, + 0x64, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x74, 0x69, 0x6d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, + 0x64, 0x69, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x50, 0x70, 0x64, 0x69, 0x72, 0x4b, 0x65, 0x79, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x10, 0x74, 0x69, 0x6d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x70, 0x64, 0x69, 0x72, 0x4b, + 0x65, 0x79, 0x12, 0x34, 0x0a, 0x15, 0x74, 0x69, 0x6d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x66, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x15, 0x74, 0x69, 0x6d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x12, 0x74, 0x69, 0x6d, 0x46, + 0x69, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x67, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x69, 0x6d, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x69, + 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbd, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x70, + 0x79, 0x54, 0x6f, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, + 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x24, 0x0a, 0x0d, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x64, 0x69, + 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, + 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x46, 0x69, + 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x73, 0x49, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x62, 0x75, 0x73, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x0c, 0x46, 0x65, 0x65, + 0x64, 0x73, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x39, 0x0a, + 0x0d, 0x66, 0x65, 0x65, 0x64, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x6c, 0x65, + 0x46, 0x65, 0x65, 0x64, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x73, + 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x75, 0x6c, 0x74, + 0x69, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x71, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x71, 0x22, 0x90, 0x01, 0x0a, + 0x0c, 0x46, 0x65, 0x65, 0x64, 0x73, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x18, 0x0a, + 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, + 0x24, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x6f, + 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x76, 0x72, 0x62, 0x75, 0x73, 0x79, + 0x57, 0x61, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, + 0x73, 0x76, 0x72, 0x62, 0x75, 0x73, 0x79, 0x57, 0x61, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, + 0xd9, 0x01, 0x0a, 0x0b, 0x44, 0x36, 0x44, 0x39, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x12, + 0x35, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x46, 0x69, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x46, + 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x32, 0x0a, 0x0b, 0x63, 0x6f, 0x70, 0x79, 0x46, 0x72, + 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x43, 0x6f, + 0x70, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x0b, 0x63, + 0x6f, 0x70, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x6f, + 0x70, 0x79, 0x54, 0x6f, 0x52, 0x65, 0x71, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x43, 0x6f, 0x70, 0x79, 0x54, 0x6f, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x09, 0x63, + 0x6f, 0x70, 0x79, 0x54, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x31, 0x0a, 0x0c, 0x66, 0x65, 0x65, 0x64, + 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, + 0x2e, 0x46, 0x65, 0x65, 0x64, 0x73, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x0c, 0x66, + 0x65, 0x65, 0x64, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0xd9, 0x01, 0x0a, 0x0b, + 0x44, 0x36, 0x44, 0x39, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x35, 0x0a, 0x0c, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x11, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x70, + 0x42, 0x6f, 0x64, 0x79, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x52, + 0x73, 0x70, 0x12, 0x32, 0x0a, 0x0b, 0x63, 0x6f, 0x70, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x73, + 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x46, 0x72, + 0x6f, 0x6d, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x0b, 0x63, 0x6f, 0x70, 0x79, 0x46, + 0x72, 0x6f, 0x6d, 0x52, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x6f, 0x70, 0x79, 0x54, 0x6f, + 0x52, 0x73, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x43, 0x6f, 0x70, 0x79, + 0x54, 0x6f, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x09, 0x63, 0x6f, 0x70, 0x79, 0x54, + 0x6f, 0x52, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x73, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x73, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x46, 0x65, 0x65, + 0x64, 0x73, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x73, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x22, 0x74, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x62, 0x75, 0x73, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, + 0x62, 0x75, 0x73, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x22, 0xac, 0x01, + 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x42, 0x6f, + 0x64, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, + 0x74, 0x4d, 0x73, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x6f, + 0x72, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x61, + 0x76, 0x65, 0x42, 0x75, 0x73, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, + 0x61, 0x76, 0x65, 0x42, 0x75, 0x73, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x61, 0x76, 0x65, + 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x73, 0x61, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x42, 0x08, 0x5a, 0x06, + 0x2e, 0x3b, 0x6f, 0x69, 0x64, 0x62, } var ( @@ -1032,33 +1131,35 @@ func file_oidb0x6d9_proto_rawDescGZIP() []byte { return file_oidb0x6d9_proto_rawDescData } -var file_oidb0x6d9_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_oidb0x6d9_proto_msgTypes = make([]protoimpl.MessageInfo, 11) var file_oidb0x6d9_proto_goTypes = []interface{}{ - (*CopyFromReqBody)(nil), // 0: CopyFromReqBody - (*CopyFromRspBody)(nil), // 1: CopyFromRspBody - (*CopyToReqBody)(nil), // 2: CopyToReqBody - (*CopyToRspBody)(nil), // 3: CopyToRspBody - (*FeedsReqBody)(nil), // 4: FeedsReqBody - (*FeedsRspBody)(nil), // 5: FeedsRspBody - (*D6D9ReqBody)(nil), // 6: D6D9ReqBody - (*D6D9RspBody)(nil), // 7: D6D9RspBody - (*TransFileReqBody)(nil), // 8: TransFileReqBody - (*TransFileRspBody)(nil), // 9: TransFileRspBody + (*GroupFileFeedsInfo)(nil), // 0: GroupFileFeedsInfo + (*CopyFromReqBody)(nil), // 1: CopyFromReqBody + (*CopyFromRspBody)(nil), // 2: CopyFromRspBody + (*CopyToReqBody)(nil), // 3: CopyToReqBody + (*CopyToRspBody)(nil), // 4: CopyToRspBody + (*FeedsReqBody)(nil), // 5: FeedsReqBody + (*FeedsRspBody)(nil), // 6: FeedsRspBody + (*D6D9ReqBody)(nil), // 7: D6D9ReqBody + (*D6D9RspBody)(nil), // 8: D6D9RspBody + (*TransFileReqBody)(nil), // 9: TransFileReqBody + (*TransFileRspBody)(nil), // 10: TransFileRspBody } var file_oidb0x6d9_proto_depIdxs = []int32{ - 8, // 0: D6D9ReqBody.transFileReq:type_name -> TransFileReqBody - 0, // 1: D6D9ReqBody.copyFromReq:type_name -> CopyFromReqBody - 2, // 2: D6D9ReqBody.copyToReq:type_name -> CopyToReqBody - 4, // 3: D6D9ReqBody.feedsInfoReq:type_name -> FeedsReqBody - 9, // 4: D6D9RspBody.transFileRsp:type_name -> TransFileRspBody - 1, // 5: D6D9RspBody.copyFromRsp:type_name -> CopyFromRspBody - 3, // 6: D6D9RspBody.copyToRsp:type_name -> CopyToRspBody - 5, // 7: D6D9RspBody.feedsInfoRsp:type_name -> FeedsRspBody - 8, // [8:8] is the sub-list for method output_type - 8, // [8:8] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 8, // [8:8] is the sub-list for extension extendee - 0, // [0:8] is the sub-list for field type_name + 0, // 0: FeedsReqBody.feedsInfoList:type_name -> GroupFileFeedsInfo + 9, // 1: D6D9ReqBody.transFileReq:type_name -> TransFileReqBody + 1, // 2: D6D9ReqBody.copyFromReq:type_name -> CopyFromReqBody + 3, // 3: D6D9ReqBody.copyToReq:type_name -> CopyToReqBody + 5, // 4: D6D9ReqBody.feedsInfoReq:type_name -> FeedsReqBody + 10, // 5: D6D9RspBody.transFileRsp:type_name -> TransFileRspBody + 2, // 6: D6D9RspBody.copyFromRsp:type_name -> CopyFromRspBody + 4, // 7: D6D9RspBody.copyToRsp:type_name -> CopyToRspBody + 6, // 8: D6D9RspBody.feedsInfoRsp:type_name -> FeedsRspBody + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name } func init() { file_oidb0x6d9_proto_init() } @@ -1068,7 +1169,7 @@ func file_oidb0x6d9_proto_init() { } if !protoimpl.UnsafeEnabled { file_oidb0x6d9_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CopyFromReqBody); i { + switch v := v.(*GroupFileFeedsInfo); i { case 0: return &v.state case 1: @@ -1080,7 +1181,7 @@ func file_oidb0x6d9_proto_init() { } } file_oidb0x6d9_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CopyFromRspBody); i { + switch v := v.(*CopyFromReqBody); i { case 0: return &v.state case 1: @@ -1092,7 +1193,7 @@ func file_oidb0x6d9_proto_init() { } } file_oidb0x6d9_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CopyToReqBody); i { + switch v := v.(*CopyFromRspBody); i { case 0: return &v.state case 1: @@ -1104,7 +1205,7 @@ func file_oidb0x6d9_proto_init() { } } file_oidb0x6d9_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CopyToRspBody); i { + switch v := v.(*CopyToReqBody); i { case 0: return &v.state case 1: @@ -1116,7 +1217,7 @@ func file_oidb0x6d9_proto_init() { } } file_oidb0x6d9_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FeedsReqBody); i { + switch v := v.(*CopyToRspBody); i { case 0: return &v.state case 1: @@ -1128,7 +1229,7 @@ func file_oidb0x6d9_proto_init() { } } file_oidb0x6d9_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FeedsRspBody); i { + switch v := v.(*FeedsReqBody); i { case 0: return &v.state case 1: @@ -1140,7 +1241,7 @@ func file_oidb0x6d9_proto_init() { } } file_oidb0x6d9_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*D6D9ReqBody); i { + switch v := v.(*FeedsRspBody); i { case 0: return &v.state case 1: @@ -1152,7 +1253,7 @@ func file_oidb0x6d9_proto_init() { } } file_oidb0x6d9_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*D6D9RspBody); i { + switch v := v.(*D6D9ReqBody); i { case 0: return &v.state case 1: @@ -1164,7 +1265,7 @@ func file_oidb0x6d9_proto_init() { } } file_oidb0x6d9_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransFileReqBody); i { + switch v := v.(*D6D9RspBody); i { case 0: return &v.state case 1: @@ -1176,6 +1277,18 @@ func file_oidb0x6d9_proto_init() { } } file_oidb0x6d9_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TransFileReqBody); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_oidb0x6d9_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TransFileRspBody); i { case 0: return &v.state @@ -1194,7 +1307,7 @@ func file_oidb0x6d9_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_oidb0x6d9_proto_rawDesc, NumEnums: 0, - NumMessages: 10, + NumMessages: 11, NumExtensions: 0, NumServices: 0, }, diff --git a/client/pb/oidb/oidb0x6d9.proto b/client/pb/oidb/oidb0x6d9.proto index 81c673f5..abad0851 100644 --- a/client/pb/oidb/oidb0x6d9.proto +++ b/client/pb/oidb/oidb0x6d9.proto @@ -2,6 +2,14 @@ syntax = "proto2"; option go_package = ".;oidb"; +message GroupFileFeedsInfo { + optional uint32 busId = 1; + optional string fileId = 2; + optional uint32 msgRandom = 3; + optional bytes ext = 4; + optional uint32 feedFlag = 5; +} + message CopyFromReqBody { optional uint64 groupCode = 1; optional uint32 appId = 2; @@ -51,7 +59,7 @@ message CopyToRspBody { message FeedsReqBody { optional uint64 groupCode = 1; optional uint32 appId = 2; - //repeated C8639group_file_common.FeedsInfo feedsInfoList = 3; + repeated GroupFileFeedsInfo feedsInfoList = 3; optional uint32 multiSendSeq = 4; }