You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

cache.go 1.8 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package coordinator
  2. import (
  3. "gitlink.org.cn/cloudream/common/pkgs/mq"
  4. cdssdk "gitlink.org.cn/cloudream/common/sdks/storage"
  5. )
  6. type CacheService interface {
  7. CachePackageMoved(msg *CachePackageMoved) (*CachePackageMovedResp, *mq.CodeMessage)
  8. CacheRemovePackage(msg *CacheRemovePackage) (*CacheRemovePackageResp, *mq.CodeMessage)
  9. }
  10. // Package的Object移动到了节点的Cache中
  11. var _ = Register(Service.CachePackageMoved)
  12. type CachePackageMoved struct {
  13. mq.MessageBodyBase
  14. PackageID cdssdk.PackageID `json:"packageID"`
  15. StorageID cdssdk.StorageID `json:"storageID"`
  16. }
  17. type CachePackageMovedResp struct {
  18. mq.MessageBodyBase
  19. }
  20. func NewCachePackageMoved(packageID cdssdk.PackageID, stgID cdssdk.StorageID) *CachePackageMoved {
  21. return &CachePackageMoved{
  22. PackageID: packageID,
  23. StorageID: stgID,
  24. }
  25. }
  26. func NewCachePackageMovedResp() *CachePackageMovedResp {
  27. return &CachePackageMovedResp{}
  28. }
  29. func (client *Client) CachePackageMoved(msg *CachePackageMoved) (*CachePackageMovedResp, error) {
  30. return mq.Request(Service.CachePackageMoved, client.rabbitCli, msg)
  31. }
  32. // 删除移动到指定节点Cache中的Package
  33. var _ = Register(Service.CacheRemovePackage)
  34. type CacheRemovePackage struct {
  35. mq.MessageBodyBase
  36. PackageID cdssdk.PackageID `json:"packageID"`
  37. NodeID cdssdk.NodeID `json:"nodeID"`
  38. }
  39. type CacheRemovePackageResp struct {
  40. mq.MessageBodyBase
  41. }
  42. func ReqCacheRemoveMovedPackage(packageID cdssdk.PackageID, nodeID cdssdk.NodeID) *CacheRemovePackage {
  43. return &CacheRemovePackage{
  44. PackageID: packageID,
  45. NodeID: nodeID,
  46. }
  47. }
  48. func RespCacheRemovePackage() *CacheRemovePackageResp {
  49. return &CacheRemovePackageResp{}
  50. }
  51. func (client *Client) CacheRemovePackage(msg *CacheRemovePackage) (*CacheRemovePackageResp, error) {
  52. return mq.Request(Service.CacheRemovePackage, client.rabbitCli, msg)
  53. }

本项目旨在将云际存储公共基础设施化,使个人及企业可低门槛使用高效的云际存储服务(安装开箱即用云际存储客户端即可,无需关注其他组件的部署),同时支持用户灵活便捷定制云际存储的功能细节。