Files
go-common/app/service/main/dynamic/rpc/client/dynamic.go
2019-04-22 18:49:16 +08:00

59 lines
1.7 KiB
Go

package client
import (
"context"
"go-common/app/service/main/archive/api"
"go-common/app/service/main/dynamic/model"
"go-common/library/net/rpc"
)
const (
_regionArcs3 = "RPC.RegionArcs3"
_regionTagArcs3 = "RPC.RegionTagArcs3"
_regionsArcs3 = "RPC.RegionsArcs3"
_regionTotal = "RPC.RegionTotal"
)
const (
_appid = "archive.service.dynamic"
)
// Service struct info.
type Service struct {
client *rpc.Client2
}
// New new service instance and return.
func New(c *rpc.ClientConfig) (s *Service) {
s = &Service{}
s.client = rpc.NewDiscoveryCli(_appid, c)
return
}
// RegionTotal receive real ip,then return dynamic region total.
func (s *Service) RegionTotal(c context.Context, arg *model.ArgRegionTotal) (res map[string]int, err error) {
err = s.client.Call(c, _regionTotal, arg, &res)
return
}
// RegionArcs3 receive ArgRegion contains regionId and real ip, then return dynamic archives.
func (s *Service) RegionArcs3(c context.Context, arg *model.ArgRegion3) (res *model.DynamicArcs3, err error) {
res = new(model.DynamicArcs3)
err = s.client.Call(c, _regionArcs3, arg, res)
return
}
// RegionTagArcs3 receive ArgRegionTag contains tagId and regionId and real ip, then return dynamic archives3.
func (s *Service) RegionTagArcs3(c context.Context, arg *model.ArgRegionTag3) (res *model.DynamicArcs3, err error) {
res = new(model.DynamicArcs3)
err = s.client.Call(c, _regionTagArcs3, arg, res)
return
}
// RegionsArcs3 receive ArgRegion contains regionIds and real ip, then return dynamic archives3.
func (s *Service) RegionsArcs3(c context.Context, arg *model.ArgRegions3) (res map[int32][]*api.Arc, err error) {
err = s.client.Call(c, _regionsArcs3, arg, &res)
return
}