mirror of
https://github.com/openimsdk/open-im-server.git
synced 2026-05-12 13:05:58 +08:00
feat: ver3 branch
Signed-off-by: kubbot & kubecub <3293172751ysy@gmail.com>
This commit is contained in:
@@ -17,8 +17,8 @@ type Resolver struct {
|
||||
getConnsRemote func(serviceName string) (conns []resolver.Address, err error)
|
||||
}
|
||||
|
||||
func (r *Resolver) ResolveNow(o resolver.ResolveNowOptions) {
|
||||
log.ZDebug(context.Background(), "start resolve now", "target", r.target)
|
||||
func (r *Resolver) ResolveNowZK(o resolver.ResolveNowOptions) {
|
||||
log.ZDebug(context.Background(), "start resolve now", "target", r.target, "cc", r.cc.UpdateState, "serviceName", strings.TrimLeft(r.target.URL.Path, "/"))
|
||||
newConns, err := r.getConnsRemote(strings.TrimLeft(r.target.URL.Path, "/"))
|
||||
if err != nil {
|
||||
log.ZError(context.Background(), "resolve now error", err, "target", r.target)
|
||||
@@ -26,24 +26,30 @@ func (r *Resolver) ResolveNow(o resolver.ResolveNowOptions) {
|
||||
}
|
||||
r.addrs = newConns
|
||||
if err := r.cc.UpdateState(resolver.State{Addresses: newConns}); err != nil {
|
||||
log.ZError(context.Background(), "UpdateState error", err, "conns", newConns)
|
||||
log.ZError(context.Background(), "UpdateState error, conns is nil from svr", err, "conns", newConns, "zk path", r.target.URL.Path)
|
||||
return
|
||||
}
|
||||
log.ZDebug(context.Background(), "resolve now finished", "target", r.target, "conns", r.addrs)
|
||||
}
|
||||
|
||||
func (r *Resolver) ResolveNow(o resolver.ResolveNowOptions) {}
|
||||
|
||||
func (s *Resolver) Close() {}
|
||||
|
||||
func (s *ZkClient) Build(target resolver.Target, cc resolver.ClientConn, opts resolver.BuildOptions) (resolver.Resolver, error) {
|
||||
s.logger.Printf("build resolver: %+v, cc: %+v", target, cc)
|
||||
s.logger.Printf("build resolver: %+v, cc: %+v", target, cc.UpdateState)
|
||||
// log.ZDebug(context.Background(), "build resolver start", "target", target, "cc", cc.UpdateState)
|
||||
r := &Resolver{}
|
||||
r.target = target
|
||||
r.cc = cc
|
||||
r.getConnsRemote = s.GetConnsRemote
|
||||
r.ResolveNow(resolver.ResolveNowOptions{})
|
||||
r.ResolveNowZK(resolver.ResolveNowOptions{})
|
||||
s.lock.Lock()
|
||||
defer s.lock.Unlock()
|
||||
s.resolvers[strings.TrimLeft(target.URL.Path, "/")] = r
|
||||
s.logger.Printf("build resolver finished: %+v, cc: %+v", target, cc)
|
||||
serviceName := strings.TrimLeft(target.URL.Path, "/")
|
||||
s.resolvers[serviceName] = r
|
||||
s.logger.Printf("build resolver finished: %+v, cc: %+v, key: %s", target, cc.UpdateState, serviceName)
|
||||
// log.ZDebug(context.Background(), "build resolver finished", "target", target, "cc", cc.UpdateState, "serviceName", serviceName)
|
||||
return r, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user