|
- package services
-
- import (
- "fmt"
-
- cdssdk "gitlink.org.cn/cloudream/common/sdks/storage"
- stgglb "gitlink.org.cn/cloudream/storage/common/globals"
- coormq "gitlink.org.cn/cloudream/storage/common/pkgs/mq/coordinator"
- )
-
- type NodeService struct {
- *Service
- }
-
- func (svc *Service) NodeSvc() *NodeService {
- return &NodeService{Service: svc}
- }
-
- func (svc *NodeService) GetNodes(nodeIDs []cdssdk.NodeID) ([]cdssdk.Node, error) {
- coorCli, err := stgglb.CoordinatorMQPool.Acquire()
- if err != nil {
- return nil, fmt.Errorf("new coordinator client: %w", err)
- }
- defer stgglb.CoordinatorMQPool.Release(coorCli)
-
- getResp, err := coorCli.GetNodes(coormq.NewGetNodes(nodeIDs))
- if err != nil {
- return nil, fmt.Errorf("requsting to coodinator: %w", err)
- }
-
- return getResp.Nodes, nil
- }
|