Compare commits

...

3 Commits

Author SHA1 Message Date
Kevin Wan
077b6072fa chore: coding style (#4352) 2024-09-03 09:06:50 +08:00
jursonmo
0cafb1164b should check if devServer Enabled, then call once.Do() (#4351)
Co-authored-by: william <myname@example.com>
2024-09-03 00:54:43 +00:00
MarkJoyMa
90afa08367 Revert "fix: etcd scheme on grpc resolver" (#4349) 2024-09-03 00:48:08 +00:00
3 changed files with 15 additions and 40 deletions

View File

@@ -77,10 +77,12 @@ func (s *Server) StartAsync(c Config) {
// StartAgent start inner http server by config.
func StartAgent(c Config) {
if !c.Enabled {
return
}
once.Do(func() {
if c.Enabled {
s := NewServer(c)
s.StartAsync(c)
}
s := NewServer(c)
s.StartAsync(c)
})
}

View File

@@ -9,41 +9,10 @@ import (
"google.golang.org/grpc/resolver"
)
type discovBuilder struct {
cc resolver.ClientConn
update func()
}
type discovBuilder struct{}
func (b *discovBuilder) Build(target resolver.Target, cc resolver.ClientConn, _ resolver.BuildOptions) (
resolver.Resolver, error) {
b.cc = cc
if err := b.updateState(target); err != nil {
return nil, err
}
return &nopResolver{cc: cc}, nil
}
func (b *discovBuilder) Scheme() string {
return DiscovScheme
}
func (b *discovBuilder) updateState(target resolver.Target) error {
if b.update == nil {
update, err := b.buildEndpointsUpdater(target)
if err != nil {
return err
}
b.update = update
}
b.update()
return nil
}
func (b *discovBuilder) buildEndpointsUpdater(target resolver.Target) (func(), error) {
hosts := strings.FieldsFunc(targets.GetAuthority(target), func(r rune) bool {
return r == EndpointSepChar
})
@@ -60,13 +29,18 @@ func (b *discovBuilder) buildEndpointsUpdater(target resolver.Target) (func(), e
Addr: val,
})
}
if err := b.cc.UpdateState(resolver.State{
if err := cc.UpdateState(resolver.State{
Addresses: addrs,
}); err != nil {
logx.Error(err)
}
}
sub.AddListener(update)
update()
return update, nil
return &nopResolver{cc: cc}, nil
}
func (b *discovBuilder) Scheme() string {
return DiscovScheme
}

View File

@@ -28,8 +28,7 @@ type kubeResolver struct {
stopCh chan struct{}
}
func (r *kubeResolver) ResolveNow(_ resolver.ResolveNowOptions) {
}
func (r *kubeResolver) ResolveNow(_ resolver.ResolveNowOptions) {}
func (r *kubeResolver) start() {
threading.GoSafe(func() {