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.

object.go 2.0 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package coordinator
  2. import (
  3. "gitlink.org.cn/cloudream/common/pkgs/mq"
  4. stgmod "gitlink.org.cn/cloudream/storage/common/models"
  5. )
  6. type ObjectService interface {
  7. GetPackageObjectRepData(msg *GetPackageObjectRepData) (*GetPackageObjectRepDataResp, *mq.CodeMessage)
  8. GetPackageObjectECData(msg *GetPackageObjectECData) (*GetPackageObjectECDataResp, *mq.CodeMessage)
  9. }
  10. // 获取指定Object的Rep数据,返回的Objects会按照ObjectID升序
  11. var _ = Register(Service.GetPackageObjectRepData)
  12. type GetPackageObjectRepData struct {
  13. mq.MessageBodyBase
  14. PackageID int64 `json:"packageID"`
  15. }
  16. type GetPackageObjectRepDataResp struct {
  17. mq.MessageBodyBase
  18. Data []stgmod.ObjectRepData `json:"data"`
  19. }
  20. func NewGetPackageObjectRepData(packageID int64) *GetPackageObjectRepData {
  21. return &GetPackageObjectRepData{
  22. PackageID: packageID,
  23. }
  24. }
  25. func NewGetPackageObjectRepDataResp(data []stgmod.ObjectRepData) *GetPackageObjectRepDataResp {
  26. return &GetPackageObjectRepDataResp{
  27. Data: data,
  28. }
  29. }
  30. func (client *Client) GetPackageObjectRepData(msg *GetPackageObjectRepData) (*GetPackageObjectRepDataResp, error) {
  31. return mq.Request(Service.GetPackageObjectRepData, client.rabbitCli, msg)
  32. }
  33. // 获取指定Object的EC数据,返回的Objects会按照ObjectID升序
  34. var _ = Register(Service.GetPackageObjectECData)
  35. type GetPackageObjectECData struct {
  36. mq.MessageBodyBase
  37. PackageID int64 `json:"packageID"`
  38. }
  39. type GetPackageObjectECDataResp struct {
  40. mq.MessageBodyBase
  41. Data []stgmod.ObjectECData `json:"data"`
  42. }
  43. func NewGetPackageObjectECData(packageID int64) *GetPackageObjectECData {
  44. return &GetPackageObjectECData{
  45. PackageID: packageID,
  46. }
  47. }
  48. func NewGetPackageObjectECDataResp(data []stgmod.ObjectECData) *GetPackageObjectECDataResp {
  49. return &GetPackageObjectECDataResp{
  50. Data: data,
  51. }
  52. }
  53. func (client *Client) GetPackageObjectECData(msg *GetPackageObjectECData) (*GetPackageObjectECDataResp, error) {
  54. return mq.Request(Service.GetPackageObjectECData, client.rabbitCli, msg)
  55. }

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