You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
1.8 KiB
78 lines
1.8 KiB
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 |
|
}
|
|
|