class_docstr: Client wrapper to connect to remote RPC server using GRPC.
  
  If Client is created with (list_registered_methods=True):
  1. Input and output specs for the methods till this point will be fetched from
  Server.
  2. convenience methods are added to invoke registered methods directly from
  client.
  For example:
    For call a server method `add`
    client.add(a, b) or client.add_async(a, b) can be used instead of
    client.call(args=[a,b], output_specs=[..])
  
  Prerequiste for using list_registered_methods=True:
   1. Server should be already started with the registered methods.
   2. Client must be created in Eager mode.
class_docstr_tok: ["Client","wrapper","to","connect","to","remote","RPC","server","using","GRPC",".","If","Client","is","created","with","(","list_registered_methods=True",")",":","1",".","Input","and","output","specs","for","the","methods","till","this","point","will","be","fetched","from","Server",".","2.","convenience","methods","are","added","to","invoke","registered","methods","directly","from","client",".","For","example",":","For","call","a","server","method","`","add","`","client.add","(","a",",","b",")","or","client.add_async","(","a",",","b",")","can","be","used","instead","of","client.call","(","args=","[","a",",","b","]",",","output_specs=","[","..","]",")","Prerequiste","for","using","list_registered_methods=True",":","1",".","Server","should","be","already","started","with","the","registered","methods",".","2",".","Client","must","be","created","in","Eager","mode","."]
docstr: Method to invoke remote registered functions on the connected server.
  
  Server should be started before making an RPC Call.
  
  Args:
    method_name: Registered method to invoke on Server.
    args: Input arguments for the method.
    output_specs: Output specs for the output from method.
    timeout_in_ms: Timeout for this call. If 0, default client timeout will be
     used.
  
  Returns:
    StatusOrResult object. This function issues the RPC call to server, it
    does not block for the duration of RPC. Please call is_ok, get_error or
    get_value methods on the returned object to blocked till RPC finishes.
docstr_tok: ["Method","to","invoke","remote","registered","functions","on","the","connected","server",".","Server","should","be","started","before","making","an","RPC","Call",".","Args",":","method_name",":","Registered","method","to","invoke","on","Server",".","args",":","Input","arguments","for","the","method",".","output_specs",":","Output","specs","for","the","output","from","method",".","timeout_in_ms",":","Timeout","for","this","call",".","If","0",",","default","client","timeout","will","be","used",".","Returns",":","StatusOrResult","object",".","This","function","issues","the","RPC","call","to","server",",","it","does","not","block","for","the","duration","of","RPC",".","Please","call","is_ok",",","get_error","or","get_value","methods","on","the","returned","object","to","blocked","till","RPC","finishes","."]
code: def call(
      self,
      method_name: str,
      args: Optional[Sequence[core_tf_types.Tensor]] = None,
      output_specs=None,
      timeout_in_ms=0,
  ):
      """Method to invoke remote registered functions on the connected server.
  
      Server should be started before making an RPC Call.
  
      Args:
        method_name: Registered method to invoke on Server.
        args: Input arguments for the method.
        output_specs: Output specs for the output from method.
        timeout_in_ms: Timeout for this call. If 0, default client timeout will be
         used.
  
      Returns:
        StatusOrResult object. This function issues the RPC call to server, it
        does not block for the duration of RPC. Please call is_ok, get_error or
        get_value methods on the returned object to blocked till RPC finishes.
      """
      if args is None:
          args = []
      status_or, deleter = gen_rpc_ops.rpc_call(
          self._client_handle,
          args=nest.flatten(args),
          method_name=method_name,
          timeout_in_ms=timeout_in_ms,
      )
      return StatusOrResult(status_or, deleter, output_specs)
  
imports: from typing import Optional, Sequence, Union
  import tensorflow.distribute.experimental.rpc.kernels.gen_rpc_ops
  from tensorflow.distribute.experimental.rpc.proto import tf_rpc_service_pb2
  from tensorflow.python.eager import context
  from tensorflow.python.eager import def_function
  from tensorflow.python.eager import function
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import none_tensor
  from tensorflow.python.framework import type_spec
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import resource_variable_ops
  from tensorflow.python.saved_model import nested_structure_coder
  from tensorflow.python.types import core
  from tensorflow.python.util import nest
  from tensorflow.python.util.tf_export import tf_export
label_desc: Use image node_id 3 for calling the GrpcClient obj's underlying member method code with example usage: obj.call(method_name, args, output_specs, timeout_in_ms) and returns: StatusOrResult