code: func ClientKeepaliveOptions(ka *KeepaliveOptions) []grpc.DialOption {
  	// use default keepalive options if nil
  	if ka == nil {
  		ka = DefaultKeepaliveOptions
  	}
  
  	var dialOpts []grpc.DialOption
  	kap := keepalive.ClientParameters{
  		Time:                ka.ClientInterval,
  		Timeout:             ka.ClientTimeout,
  		PermitWithoutStream: true,
  	}
  	dialOpts = append(dialOpts, grpc.WithKeepaliveParams(kap))
  	return dialOpts
  }
docs: // ClientKeepaliveOptions returns gRPC keepalive options for clients.  If
  // opts is nil, the default keepalive options are returned