function_descriptor.pxd 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. from libc.stdint cimport uint8_t, uint64_t
  2. from libcpp cimport bool as c_bool
  3. from libcpp.memory cimport unique_ptr, shared_ptr
  4. from libcpp.string cimport string as c_string
  5. from libcpp.unordered_map cimport unordered_map
  6. from libcpp.vector cimport vector as c_vector
  7. from ray.includes.common cimport (
  8. CLanguage,
  9. )
  10. from ray.includes.unique_ids cimport (
  11. CActorID,
  12. CJobID,
  13. CObjectID,
  14. CTaskID,
  15. )
  16. cdef extern from "src/ray/protobuf/common.pb.h" nogil:
  17. cdef cppclass CFunctionDescriptorType \
  18. "ray::FunctionDescriptorType":
  19. pass
  20. cdef CFunctionDescriptorType EmptyFunctionDescriptorType \
  21. "ray::FunctionDescriptorType::FUNCTION_DESCRIPTOR_NOT_SET"
  22. cdef CFunctionDescriptorType JavaFunctionDescriptorType \
  23. "ray::FunctionDescriptorType::kJavaFunctionDescriptor"
  24. cdef CFunctionDescriptorType PythonFunctionDescriptorType \
  25. "ray::FunctionDescriptorType::kPythonFunctionDescriptor"
  26. cdef CFunctionDescriptorType CppFunctionDescriptorType \
  27. "ray::FunctionDescriptorType::kCppFunctionDescriptor"
  28. cdef extern from "ray/common/function_descriptor.h" nogil:
  29. cdef cppclass CFunctionDescriptorInterface \
  30. "ray::FunctionDescriptorInterface":
  31. CFunctionDescriptorType Type()
  32. c_string ToString()
  33. c_string Serialize()
  34. ctypedef shared_ptr[CFunctionDescriptorInterface] CFunctionDescriptor \
  35. "ray::FunctionDescriptor"
  36. cdef cppclass CFunctionDescriptorBuilder "ray::FunctionDescriptorBuilder":
  37. @staticmethod
  38. CFunctionDescriptor Empty()
  39. @staticmethod
  40. CFunctionDescriptor BuildJava(const c_string &class_name,
  41. const c_string &function_name,
  42. const c_string &signature)
  43. @staticmethod
  44. CFunctionDescriptor BuildPython(const c_string &module_name,
  45. const c_string &class_name,
  46. const c_string &function_name,
  47. const c_string &function_source_hash)
  48. @staticmethod
  49. CFunctionDescriptor BuildCpp(const c_string &function_name,
  50. const c_string &caller,
  51. const c_string &class_name)
  52. @staticmethod
  53. CFunctionDescriptor Deserialize(const c_string &serialized_binary)
  54. cdef cppclass CJavaFunctionDescriptor "ray::JavaFunctionDescriptor":
  55. c_string ClassName()
  56. c_string FunctionName()
  57. c_string Signature()
  58. cdef cppclass CPythonFunctionDescriptor "ray::PythonFunctionDescriptor":
  59. c_string ModuleName()
  60. c_string ClassName()
  61. c_string FunctionName()
  62. c_string FunctionHash()
  63. cdef cppclass CCppFunctionDescriptor "ray::CppFunctionDescriptor":
  64. c_string FunctionName()
  65. c_string Caller()
  66. c_string ClassName()