72 lines
2.2 KiB
Go
72 lines
2.2 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)
|
|
|
|
PackageGetLoadedStgs(msg *PackageGetLoadedStgs) (*PackageGetLoadedStgsResp, *mq.CodeMessage)
|
|
}
|
|
|
|
// 获取package的缓存分布情况
|
|
var _ = Register(Service.PackageGetCachedStgNodes)
|
|
|
|
type PackageGetCachedStgNodes struct {
|
|
mq.MessageBodyBase
|
|
UserID cdssdk.UserID `json:"userID"`
|
|
PackageID cdssdk.PackageID `json:"packageID"`
|
|
}
|
|
type PackageGetCachedStgNodesResp struct {
|
|
mq.MessageBodyBase
|
|
cdssdk.PackageCachingInfo
|
|
}
|
|
|
|
func NewPackageGetCachedStgNodes(userID cdssdk.UserID, packageID cdssdk.PackageID) *PackageGetCachedStgNodes {
|
|
return &PackageGetCachedStgNodes{
|
|
UserID: userID,
|
|
PackageID: packageID,
|
|
}
|
|
}
|
|
func NewPackageGetCachedStgNodesResp(nodeInfos []cdssdk.StoragePackageCachingInfo, packageSize int64) *PackageGetCachedStgNodesResp {
|
|
return &PackageGetCachedStgNodesResp{
|
|
PackageCachingInfo: cdssdk.PackageCachingInfo{
|
|
StorageInfos: nodeInfos,
|
|
PackageSize: packageSize,
|
|
},
|
|
}
|
|
}
|
|
func (c *Client) PackageGetCachedStgNodes(msg *PackageGetCachedStgNodes, opts ...mq.RequestOption) (*PackageGetCachedStgNodesResp, error) {
|
|
return mq.Request(Service.PackageGetCachedStgNodes, c.rabbitCli, msg, opts...)
|
|
}
|
|
|
|
// 获取package的存储分布情况
|
|
var _ = Register(Service.PackageGetLoadedStgs)
|
|
|
|
type PackageGetLoadedStgs struct {
|
|
mq.MessageBodyBase
|
|
UserID cdssdk.UserID `json:"userID"`
|
|
PackageID cdssdk.PackageID `json:"packageID"`
|
|
}
|
|
type PackageGetLoadedStgsResp struct {
|
|
mq.MessageBodyBase
|
|
StgIDs []cdssdk.StorageID `json:"stgNodeIDs"`
|
|
}
|
|
|
|
func NewPackageGetLoadedStgs(userID cdssdk.UserID, packageID cdssdk.PackageID) *PackageGetLoadedStgs {
|
|
return &PackageGetLoadedStgs{
|
|
UserID: userID,
|
|
PackageID: packageID,
|
|
}
|
|
}
|
|
func NewPackageGetLoadedStgsResp(stgIDs []cdssdk.StorageID) *PackageGetLoadedStgsResp {
|
|
return &PackageGetLoadedStgsResp{
|
|
StgIDs: stgIDs,
|
|
}
|
|
}
|
|
func (c *Client) PackageGetLoadedStgs(msg *PackageGetLoadedStgs, opts ...mq.RequestOption) (*PackageGetLoadedStgsResp, error) {
|
|
return mq.Request(Service.PackageGetLoadedStgs, c.rabbitCli, msg, opts...)
|
|
}
|