73 lines
2.3 KiB
Go
73 lines
2.3 KiB
Go
package collector
|
|
|
|
import (
|
|
"gitlink.org.cn/cloudream/common/pkgs/mq"
|
|
cdssdk "gitlink.org.cn/cloudream/common/sdks/storage"
|
|
)
|
|
|
|
type StorageService interface {
|
|
PackageGetCachedStgNodes(msg *PackageGetCachedStgNodes) (*PackageGetCachedStgNodesResp, *mq.CodeMessage)
|
|
|
|
PackageGetLoadedStgNodes(msg *PackageGetLoadedStgNodes) (*PackageGetLoadedStgNodesResp, *mq.CodeMessage)
|
|
}
|
|
|
|
// 获取package的缓存分布情况
|
|
var _ = Register(Service.PackageGetCachedStgNodes)
|
|
|
|
type PackageGetCachedStgNodes struct {
|
|
mq.MessageBodyBase
|
|
UserID int64 `json:"userID"`
|
|
PackageID int64 `json:"packageID"`
|
|
}
|
|
type PackageGetCachedStgNodesResp struct {
|
|
mq.MessageBodyBase
|
|
cdssdk.PackageCachingInfo
|
|
}
|
|
|
|
func NewPackageGetCachedStgNodes(userID int64, packageID int64) *PackageGetCachedStgNodes {
|
|
return &PackageGetCachedStgNodes{
|
|
UserID: userID,
|
|
PackageID: packageID,
|
|
}
|
|
}
|
|
func NewPackageGetCachedStgNodesResp(nodeInfos []cdssdk.NodePackageCachingInfo, packageSize int64, redunancyType string) *PackageGetCachedStgNodesResp {
|
|
return &PackageGetCachedStgNodesResp{
|
|
PackageCachingInfo: cdssdk.PackageCachingInfo{
|
|
NodeInfos: nodeInfos,
|
|
PackageSize: packageSize,
|
|
RedunancyType: redunancyType,
|
|
},
|
|
}
|
|
}
|
|
func (c *Client) PackageGetCachedStgNodes(msg *PackageGetCachedStgNodes, opts ...mq.RequestOption) (*PackageGetCachedStgNodesResp, error) {
|
|
return mq.Request(Service.PackageGetCachedStgNodes, c.rabbitCli, msg, opts...)
|
|
}
|
|
|
|
// 获取package的存储分布情况
|
|
var _ = Register(Service.PackageGetLoadedStgNodes)
|
|
|
|
type PackageGetLoadedStgNodes struct {
|
|
mq.MessageBodyBase
|
|
UserID int64 `json:"userID"`
|
|
PackageID int64 `json:"packageID"`
|
|
}
|
|
type PackageGetLoadedStgNodesResp struct {
|
|
mq.MessageBodyBase
|
|
StgNodeIDs []int64 `json:"stgNodeIDs"`
|
|
}
|
|
|
|
func NewPackageGetLoadedStgNodes(userID int64, packageID int64) *PackageGetLoadedStgNodes {
|
|
return &PackageGetLoadedStgNodes{
|
|
UserID: userID,
|
|
PackageID: packageID,
|
|
}
|
|
}
|
|
func NewPackageGetLoadedStgNodesResp(nodeIDs []int64) *PackageGetLoadedStgNodesResp {
|
|
return &PackageGetLoadedStgNodesResp{
|
|
StgNodeIDs: nodeIDs,
|
|
}
|
|
}
|
|
func (c *Client) PackageGetLoadedStgNodes(msg *PackageGetLoadedStgNodes, opts ...mq.RequestOption) (*PackageGetLoadedStgNodesResp, error) {
|
|
return mq.Request(Service.PackageGetLoadedStgNodes, c.rabbitCli, msg, opts...)
|
|
}
|