@@ -1736,7 +1736,18 @@ func init() {
1736
1736
ii := i
1737
1737
stub .Register (fmt .Sprintf ("%s-%d" , initIdleBalancerName , ii ), stub.BalancerFuncs {
1738
1738
UpdateClientConnState : func (bd * stub.BalancerData , opts balancer.ClientConnState ) error {
1739
- sc , err := bd .ClientConn .NewSubConn (opts .ResolverState .Addresses , balancer.NewSubConnOptions {})
1739
+ lis := func (state balancer.SubConnState ) {
1740
+ err := fmt .Errorf ("wrong picker error" )
1741
+ if state .ConnectivityState == connectivity .Idle {
1742
+ err = errsTestInitIdle [ii ]
1743
+ }
1744
+ bd .ClientConn .UpdateState (balancer.State {
1745
+ ConnectivityState : state .ConnectivityState ,
1746
+ Picker : & testutils.TestConstPicker {Err : err },
1747
+ })
1748
+ }
1749
+
1750
+ sc , err := bd .ClientConn .NewSubConn (opts .ResolverState .Addresses , balancer.NewSubConnOptions {StateListener : lis })
1740
1751
if err != nil {
1741
1752
return err
1742
1753
}
@@ -1747,16 +1758,6 @@ func init() {
1747
1758
})
1748
1759
return nil
1749
1760
},
1750
- UpdateSubConnState : func (bd * stub.BalancerData , sc balancer.SubConn , state balancer.SubConnState ) {
1751
- err := fmt .Errorf ("wrong picker error" )
1752
- if state .ConnectivityState == connectivity .Idle {
1753
- err = errsTestInitIdle [ii ]
1754
- }
1755
- bd .ClientConn .UpdateState (balancer.State {
1756
- ConnectivityState : state .ConnectivityState ,
1757
- Picker : & testutils.TestConstPicker {Err : err },
1758
- })
1759
- },
1760
1761
})
1761
1762
}
1762
1763
}
0 commit comments