package coordinator import ( "gitlink.org.cn/cloudream/common/pkgs/mq" cdssdk "gitlink.org.cn/cloudream/common/sdks/storage" ) type CacheService interface { CachePackageMoved(msg *CachePackageMoved) (*CachePackageMovedResp, *mq.CodeMessage) GetPackageObjectCacheInfos(msg *GetPackageObjectCacheInfos) (*GetPackageObjectCacheInfosResp, *mq.CodeMessage) } // Package的Object移动到了节点的Cache中 var _ = Register(Service.CachePackageMoved) type CachePackageMoved struct { mq.MessageBodyBase PackageID int64 `json:"packageID"` NodeID int64 `json:"nodeID"` FileHashes []string `json:"fileHashes"` } type CachePackageMovedResp struct { mq.MessageBodyBase } func NewCachePackageMoved(packageID int64, nodeID int64, fileHashes []string) *CachePackageMoved { return &CachePackageMoved{ PackageID: packageID, NodeID: nodeID, FileHashes: fileHashes, } } func NewCachePackageMovedResp() *CachePackageMovedResp { return &CachePackageMovedResp{} } func (client *Client) CachePackageMoved(msg *CachePackageMoved) (*CachePackageMovedResp, error) { return mq.Request(Service.CachePackageMoved, client.rabbitCli, msg) } // 获取Package中所有Object的FileHash var _ = Register(Service.GetPackageObjectCacheInfos) type GetPackageObjectCacheInfos struct { mq.MessageBodyBase UserID int64 `json:"userID"` PackageID int64 `json:"packageID"` } type GetPackageObjectCacheInfosResp struct { mq.MessageBodyBase Infos []cdssdk.ObjectCacheInfo } func NewGetPackageObjectCacheInfos(userID int64, packageID int64) *GetPackageObjectCacheInfos { return &GetPackageObjectCacheInfos{ UserID: userID, PackageID: packageID, } } func NewGetPackageObjectCacheInfosResp(infos []cdssdk.ObjectCacheInfo) *GetPackageObjectCacheInfosResp { return &GetPackageObjectCacheInfosResp{ Infos: infos, } } func (client *Client) GetPackageObjectCacheInfos(msg *GetPackageObjectCacheInfos) (*GetPackageObjectCacheInfosResp, error) { return mq.Request(Service.GetPackageObjectCacheInfos, client.rabbitCli, msg) }