code: func NewClientConnectionWithAddress(peerAddress string, block bool, tslEnabled bool,
  	creds credentials.TransportCredentials, ka *KeepaliveOptions) (*grpc.ClientConn, error) {
  	var opts []grpc.DialOption
  
  	if ka != nil {
  		opts = ClientKeepaliveOptions(ka)
  	} else {
  		// set to the default options
  		opts = ClientKeepaliveOptions(DefaultKeepaliveOptions)
  	}
  
  	if tslEnabled {
  		opts = append(opts, grpc.WithTransportCredentials(creds))
  	} else {
  		opts = append(opts, grpc.WithInsecure())
  	}
  	if block {
  		opts = append(opts, grpc.WithBlock())
  	}
  	opts = append(opts, grpc.WithDefaultCallOptions(
  		grpc.MaxCallRecvMsgSize(MaxRecvMsgSize),
  		grpc.MaxCallSendMsgSize(MaxSendMsgSize),
  	))
  	ctx, cancel := context.WithTimeout(context.Background(), defaultTimeout)
  	defer cancel()
  	conn, err := grpc.DialContext(ctx, peerAddress, opts...)
  	if err != nil {
  		return nil, err
  	}
  	return conn, err
  }
docs: // NewClientConnectionWithAddress Returns a new grpc.ClientConn to the given address