class_docstr: Client object for cugraph_service, which defines the API that clients can
  use to access the cugraph_service server.
class_docstr_tok: ["Client","object","for","cugraph_service",",","which","defines","the","API","that","clients","can","use","to","access","the","cugraph_service","server","."]
docstr: Decorator for methods that require a connection to the server to be
  created prior to calling a server function, then closed upon completion
  or error. If self.hold_open is True, the automatic call to close() will
  not take place, allowing for multiple subsequent server calls to be
  made using the same connection. self.hold_open therefore requires the
  caller to manually call close() in order to allow other clients to
  connect.
docstr_tok: ["Decorator","for","methods","that","require","a","connection","to","the","server","to","be","created","prior","to","calling","a","server","function",",","then","closed","upon","completion","or","error",".","If","self.hold_open","is","True",",","the","automatic","call","to","close","(",")","will","not","take","place",",","allowing","for","multiple","subsequent","server","calls","to","be","made","using","the","same","connection",".","self.hold_open","therefore","requires","the","caller","to","manually","call","close","(",")","in","order","to","allow","other","clients","to","connect","."]
code: def __server_connection(method):
      """
      Decorator for methods that require a connection to the server to be
      created prior to calling a server function, then closed upon completion
      or error. If self.hold_open is True, the automatic call to close() will
      not take place, allowing for multiple subsequent server calls to be
      made using the same connection. self.hold_open therefore requires the
      caller to manually call close() in order to allow other clients to
      connect.
      """
  
      @wraps(method)
      def wrapped_method(self, *args, **kwargs):
          self.open()
          try:
              ret_val = method(self, *args, **kwargs)
          finally:
              if not self.hold_open:
                  self.close()
          return ret_val
  
      return wrapped_method
  
imports: from cugraph_service_client.remote_graph_utils import import_optional, MissingModule
  import numpy
  from functools import wraps
  from collections.abc import Sequence
  import pickle
  import ucp
  import asyncio
  import threading
  from cugraph_service_client import defaults
  from cugraph_service_client.remote_graph import RemoteGraph
  from cugraph_service_client import extension_return_dtype_map
  from cugraph_service_client.types import ValueWrapper, GraphVertexEdgeID, UniformNeighborSampleResult
  from cugraph_service_client.cugraph_service_thrift import create_client
label_desc: Use image node_id 3 for calling the CugraphServiceClient obj's underlying member method code with example usage: obj.__server_connection(method) and returns: wrapped_method, ret_val