bilibili-backup/app/infra/config/rpc/client/config.go

79 lines
1.8 KiB
Go
Raw Normal View History

2019-04-22 10:59:20 +08:00
package config
import (
"context"
"go-common/app/infra/config/model"
"go-common/library/net/rpc"
)
const (
_appid = "config.service"
_push = "RPC.Push"
_setToken = "RPC.SetToken"
_pushV4 = "RPC.PushV4"
_force = "RPC.Force"
_setTokenV4 = "RPC.SetTokenV4"
_hosts = "RPC.Hosts"
_clearHost = "RPC.ClearHost"
)
var (
_noArg = &struct{}{}
)
//Service2 service.
type Service2 struct {
client *rpc.Client2
}
// New2 new a config service.
func New2(c *rpc.ClientConfig) (s *Service2) {
s = &Service2{}
s.client = rpc.NewDiscoveryCli(_appid, c)
return
}
// Push push new ver to config-service
func (s *Service2) Push(c context.Context, arg *model.ArgConf) (err error) {
err = s.client.Boardcast(c, _push, arg, _noArg)
return
}
// SetToken update token in config-service
func (s *Service2) SetToken(c context.Context, arg *model.ArgToken) (err error) {
err = s.client.Boardcast(c, _setToken, arg, _noArg)
return
}
// PushV4 push new ver to config-service
func (s *Service2) PushV4(c context.Context, arg *model.ArgConf) (err error) {
err = s.client.Boardcast(c, _pushV4, arg, _noArg)
return
}
// SetTokenV4 update token in config-service
func (s *Service2) SetTokenV4(c context.Context, arg *model.ArgToken) (err error) {
err = s.client.Boardcast(c, _setTokenV4, arg, _noArg)
return
}
//Hosts get host list.
func (s *Service2) Hosts(c context.Context, svr string) (hosts []*model.Host, err error) {
err = s.client.Call(c, _hosts, svr, &hosts)
return
}
// ClearHost update token in config-service
func (s *Service2) ClearHost(c context.Context, svr string) (err error) {
err = s.client.Call(c, _clearHost, svr, _noArg)
return
}
// Force push new host ver to config-service
func (s *Service2) Force(c context.Context, arg *model.ArgConf) (err error) {
err = s.client.Boardcast(c, _force, arg, _noArg)
return
}