| 980 | } |
| 981 | |
| 982 | func (b *stateRecordingBalancerBuilder) Build(cc balancer.ClientConn, opts balancer.BuildOptions) balancer.Balancer { |
| 983 | stateNotifications := make(chan connectivity.State, 10) |
| 984 | b.mu.Lock() |
| 985 | b.notifier = stateNotifications |
| 986 | b.mu.Unlock() |
| 987 | return &stateRecordingBalancer{ |
| 988 | Balancer: balancer.Get("pick_first").Build(&stateRecordingCCWrapper{cc, stateNotifications}, opts), |
| 989 | } |
| 990 | } |
| 991 | |
| 992 | func (b *stateRecordingBalancerBuilder) nextStateNotifier() <-chan connectivity.State { |
| 993 | b.mu.Lock() |