from libc.stdint cimport uint8_t, uint64_t from libcpp cimport bool as c_bool from libcpp.memory cimport unique_ptr, shared_ptr from libcpp.string cimport string as c_string from libcpp.unordered_map cimport unordered_map from libcpp.vector cimport vector as c_vector from ray.includes.common cimport ( CLanguage, ) from ray.includes.unique_ids cimport ( CActorID, CJobID, CObjectID, CTaskID, ) cdef extern from "src/ray/protobuf/common.pb.h" nogil: cdef cppclass CFunctionDescriptorType \ "ray::FunctionDescriptorType": pass cdef CFunctionDescriptorType EmptyFunctionDescriptorType \ "ray::FunctionDescriptorType::FUNCTION_DESCRIPTOR_NOT_SET" cdef CFunctionDescriptorType JavaFunctionDescriptorType \ "ray::FunctionDescriptorType::kJavaFunctionDescriptor" cdef CFunctionDescriptorType PythonFunctionDescriptorType \ "ray::FunctionDescriptorType::kPythonFunctionDescriptor" cdef CFunctionDescriptorType CppFunctionDescriptorType \ "ray::FunctionDescriptorType::kCppFunctionDescriptor" cdef extern from "ray/common/function_descriptor.h" nogil: cdef cppclass CFunctionDescriptorInterface \ "ray::FunctionDescriptorInterface": CFunctionDescriptorType Type() c_string ToString() c_string Serialize() ctypedef shared_ptr[CFunctionDescriptorInterface] CFunctionDescriptor \ "ray::FunctionDescriptor" cdef cppclass CFunctionDescriptorBuilder "ray::FunctionDescriptorBuilder": @staticmethod CFunctionDescriptor Empty() @staticmethod CFunctionDescriptor BuildJava(const c_string &class_name, const c_string &function_name, const c_string &signature) @staticmethod CFunctionDescriptor BuildPython(const c_string &module_name, const c_string &class_name, const c_string &function_name, const c_string &function_source_hash) @staticmethod CFunctionDescriptor BuildCpp(const c_string &function_name, const c_string &caller, const c_string &class_name) @staticmethod CFunctionDescriptor Deserialize(const c_string &serialized_binary) cdef cppclass CJavaFunctionDescriptor "ray::JavaFunctionDescriptor": c_string ClassName() c_string FunctionName() c_string Signature() cdef cppclass CPythonFunctionDescriptor "ray::PythonFunctionDescriptor": c_string ModuleName() c_string ClassName() c_string FunctionName() c_string FunctionHash() cdef cppclass CCppFunctionDescriptor "ray::CppFunctionDescriptor": c_string FunctionName() c_string Caller() c_string ClassName()