optimize:chan bool to chan struct{} (#1648)

pull/1651/head
haiyux 3 years ago committed by GitHub
parent ef3322ec07
commit 27cfec93d6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      contrib/config/nacos/config_test.go
  2. 6
      contrib/registry/nacos/watcher.go
  3. 2
      transport/grpc/resolver/discovery/builder.go

@ -88,10 +88,10 @@ logger:
}
fmt.Println("get value", name)
done := make(chan bool)
done := make(chan struct{})
err = c.Watch("logger.level", func(key string, value kconfig.Value) {
fmt.Println(key, " value change", value)
done <- true
done <- struct{}{}
})
if err != nil {
t.Fatal(err)

@ -18,7 +18,7 @@ type watcher struct {
groupName string
ctx context.Context
cancel context.CancelFunc
watchChan chan bool
watchChan chan struct{}
cli naming_client.INamingClient
}
@ -28,7 +28,7 @@ func newWatcher(ctx context.Context, cli naming_client.INamingClient, serviceNam
clusters: clusters,
groupName: groupName,
cli: cli,
watchChan: make(chan bool, 1),
watchChan: make(chan struct{}, 1),
}
w.ctx, w.cancel = context.WithCancel(ctx)
@ -37,7 +37,7 @@ func newWatcher(ctx context.Context, cli naming_client.INamingClient, serviceNam
Clusters: clusters,
GroupName: groupName,
SubscribeCallback: func(services []model.SubscribeService, err error) {
w.watchChan <- true
w.watchChan <- struct{}{}
},
})
return w, e

@ -63,7 +63,7 @@ func (b *builder) Build(target resolver.Target, cc resolver.ClientConn, opts res
err error
w registry.Watcher
)
done := make(chan bool, 1)
done := make(chan struct{}, 1)
ctx, cancel := context.WithCancel(context.Background())
go func() {
w, err = b.discoverer.Watch(ctx, strings.TrimPrefix(target.URL.Path, "/"))

Loading…
Cancel
Save