@@ -889,7 +889,7 @@ func (mb1 *mockBalancer) ResolverError(err error) {
889
889
}
890
890
891
891
func (mb1 * mockBalancer ) UpdateSubConnState (sc balancer.SubConn , state balancer.SubConnState ) {
892
- mb1 . scStateCh . Send ( subConnWithState { sc : sc , state : state } )
892
+ panic ( fmt . Sprintf ( "UpdateSubConnState(%v, %+v) called unexpectedly" , sc , state ) )
893
893
}
894
894
895
895
func (mb1 * mockBalancer ) Close () {
@@ -951,7 +951,9 @@ func (mb1 *mockBalancer) updateState(state balancer.State) {
951
951
952
952
func (mb1 * mockBalancer ) newSubConn (addrs []resolver.Address , opts balancer.NewSubConnOptions ) (sc balancer.SubConn , err error ) {
953
953
if opts .StateListener == nil {
954
- opts .StateListener = func (state balancer.SubConnState ) { mb1 .UpdateSubConnState (sc , state ) }
954
+ opts .StateListener = func (state balancer.SubConnState ) {
955
+ mb1 .scStateCh .Send (subConnWithState {sc : sc , state : state })
956
+ }
955
957
}
956
958
defer func () {
957
959
if sc != nil {
@@ -994,13 +996,13 @@ func (verifyBalancerBuilder) Name() string {
994
996
return verifyBalName
995
997
}
996
998
997
- // verifyBalancer is a balancer that verifies that after a Close() call, an
998
- // updateSubConnState () call never happens.
999
+ // verifyBalancer is a balancer that verifies that after a Close() call, a
1000
+ // StateListener () call never happens.
999
1001
type verifyBalancer struct {
1000
1002
closed * grpcsync.Event
1001
1003
// Hold onto the ClientConn wrapper to communicate with it.
1002
1004
cc balancer.ClientConn
1003
- // To fail the test if UpdateSubConnState gets called after Close().
1005
+ // To fail the test if StateListener gets called after Close().
1004
1006
t * testing.T
1005
1007
}
1006
1008
@@ -1011,9 +1013,7 @@ func (vb *verifyBalancer) UpdateClientConnState(ccs balancer.ClientConnState) er
1011
1013
func (vb * verifyBalancer ) ResolverError (err error ) {}
1012
1014
1013
1015
func (vb * verifyBalancer ) UpdateSubConnState (sc balancer.SubConn , state balancer.SubConnState ) {
1014
- if vb .closed .HasFired () {
1015
- vb .t .Fatal ("UpdateSubConnState was called after Close(), which breaks the balancer API" )
1016
- }
1016
+ panic (fmt .Sprintf ("UpdateSubConnState(%v, %+v) called unexpectedly" , sc , state ))
1017
1017
}
1018
1018
1019
1019
func (vb * verifyBalancer ) Close () {
@@ -1022,7 +1022,11 @@ func (vb *verifyBalancer) Close() {
1022
1022
1023
1023
func (vb * verifyBalancer ) newSubConn (addrs []resolver.Address , opts balancer.NewSubConnOptions ) (sc balancer.SubConn , err error ) {
1024
1024
if opts .StateListener == nil {
1025
- opts .StateListener = func (state balancer.SubConnState ) { vb .UpdateSubConnState (sc , state ) }
1025
+ opts .StateListener = func (state balancer.SubConnState ) {
1026
+ if vb .closed .HasFired () {
1027
+ vb .t .Fatalf ("StateListener(%+v) was called after Close(), which breaks the balancer API" , state )
1028
+ }
1029
+ }
1026
1030
}
1027
1031
defer func () { sc .Connect () }()
1028
1032
return vb .cc .NewSubConn (addrs , opts )
@@ -1064,7 +1068,9 @@ func (bcb *buildCallbackBal) UpdateClientConnState(ccs balancer.ClientConnState)
1064
1068
1065
1069
func (bcb * buildCallbackBal ) ResolverError (err error ) {}
1066
1070
1067
- func (bcb * buildCallbackBal ) UpdateSubConnState (sc balancer.SubConn , state balancer.SubConnState ) {}
1071
+ func (bcb * buildCallbackBal ) UpdateSubConnState (sc balancer.SubConn , state balancer.SubConnState ) {
1072
+ panic (fmt .Sprintf ("UpdateSubConnState(%v, %+v) called unexpectedly" , sc , state ))
1073
+ }
1068
1074
1069
1075
func (bcb * buildCallbackBal ) Close () {
1070
1076
bcb .closeCh .Send (struct {}{})
@@ -1075,9 +1081,6 @@ func (bcb *buildCallbackBal) updateState(state balancer.State) {
1075
1081
}
1076
1082
1077
1083
func (bcb * buildCallbackBal ) newSubConn (addrs []resolver.Address , opts balancer.NewSubConnOptions ) (sc balancer.SubConn , err error ) {
1078
- if opts .StateListener == nil {
1079
- opts .StateListener = func (state balancer.SubConnState ) { bcb .UpdateSubConnState (sc , state ) }
1080
- }
1081
1084
defer func () {
1082
1085
if sc != nil {
1083
1086
sc .Connect ()
0 commit comments