class_docstr: A class used to export/load remote functions and actors.
  Attributes:
      _worker: The associated worker that this manager related.
      _functions_to_export: The remote functions to export when
          the worker gets connected.
      _actors_to_export: The actors to export when the worker gets
          connected.
      _function_execution_info: The function_id
          and execution_info.
      _num_task_executions: The function
          execution times.
      imported_actor_classes: The set of actor classes keys (format:
          ActorClass:function_id) that are already in GCS.
class_docstr_tok: ["A","class","used","to","export\/load","remote","functions","and","actors",".","Attributes",":","_worker",":","The","associated","worker","that","this","manager","related",".","_functions_to_export",":","The","remote","functions","to","export","when","the","worker","gets","connected",".","_actors_to_export",":","The","actors","to","export","when","the","worker","gets","connected",".","_function_execution_info",":","The","function_id","and","execution_info",".","_num_task_executions",":","The","function","execution","times",".","imported_actor_classes",":","The","set","of","actor","classes","keys","(","format",":","ActorClass",":","function_id",")","that","are","already","in","GCS","."]
docstr: The identifier is used to detect excessive duplicate exports.
  The identifier is used to determine when the same function or class is
  exported many times. This can yield false positives.
  Args:
      function_or_class: The function or class to compute an identifier
          for.
  Returns:
      The identifier. Note that different functions or classes can give
          rise to same identifier. However, the same function should
          hopefully always give rise to the same identifier. TODO(rkn):
          verify if this is actually the case. Note that if the
          identifier is incorrect in any way, then we may give warnings
          unnecessarily or fail to give warnings, but the application's
          behavior won't change.
code: def compute_collision_identifier(self, function_or_class):
      """The identifier is used to detect excessive duplicate exports.
      The identifier is used to determine when the same function or class is
      exported many times. This can yield false positives.
      Args:
          function_or_class: The function or class to compute an identifier
              for.
      Returns:
          The identifier. Note that different functions or classes can give
              rise to same identifier. However, the same function should
              hopefully always give rise to the same identifier. TODO(rkn):
              verify if this is actually the case. Note that if the
              identifier is incorrect in any way, then we may give warnings
              unnecessarily or fail to give warnings, but the application's
              behavior won't change.
      """
      import io
  
      string_file = io.StringIO()
      dis.dis(function_or_class, file=string_file, depth=2)
      collision_identifier = (
          function_or_class.__name__ + ":" + string_file.getvalue()
      )
  
      # Return a hash of the identifier in case it is too large.
      return hashlib.sha1(collision_identifier.encode("utf-8")).digest()
  
imports: import dis
  import sys
  import hashlib
  import importlib
  import inspect
  import json
  import logging
  import os
  import threading
  import time
  import traceback
  from collections import defaultdict, namedtuple
  from typing import Optional, Callable
  import ray
  import ray._private.profiling
  from ray import cloudpickle
  from ray._private import ray_constants
  from ray._private.inspect_util import is_class_method, is_function_or_method, is_static_method
  from ray._private.ray_constants import KV_NAMESPACE_FUNCTION_TABLE
  from ray._private.utils import check_oversized_function, ensure_str, format_error_message
  from ray._private.serialization import pickle_dumps
  from ray._raylet import JobID, PythonFunctionDescriptor, WORKER_PROCESS_SETUP_HOOK_KEY_NAME_GCS
label_desc: Use image node_id 4 for calling the FunctionActorManager obj's underlying member method code with example usage: obj.compute_collision_identifier(function_or_class) and returns: hashlib