clientv3/ready_wait.go
func readyWait(rpcCtx, clientCtx context.Context, ready <-chan struct{}) error {
	select {
	case <-ready:
		return nil
	case <-rpcCtx.Done():
		return rpcCtx.Err()
	case <-clientCtx.Done():
		return clientCtx.Err()
	}
}
func readyWait(rpcCtx, clientCtx context.Context, ready <-chan struct{}) error {
	select {
	case <-ready:
		return nil
	case <-rpcCtx.Done():
		return rpcCtx.Err()
	case <-clientCtx.Done():
		return clientCtx.Err()
	}
}
func readyWait ( rpcCtx , clientCtx context . Context , ready <- chan struct { } ) error { select { case <- ready : return nil case <- rpcCtx . Done ( ) : return rpcCtx . Err ( ) case <- clientCtx . Done ( ) : return clientCtx . Err ( ) } }
// TODO: remove this when "FailFast=false" is fixed.
// See https://github.com/grpc/grpc-go/issues/1532.
TODO : remove this when FailFast = false is fixed . See https : // github . com / grpc / grpc - go / issues / 1532 .