unique_ids.pxd 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. from libcpp cimport bool as c_bool
  2. from libcpp.string cimport string as c_string
  3. from libc.stdint cimport uint8_t, uint32_t, int64_t
  4. # Note: we removed the staticmethod declarations in
  5. # https://github.com/ray-project/ray/pull/47984 due
  6. # to a compiler bug in Cython 3.0.x -- we should see
  7. # if we can bring them back in Cython 3.1.x if the
  8. # bug is fixed.
  9. cdef extern from "ray/common/id.h" namespace "ray" nogil:
  10. cdef cppclass CBaseID[T]:
  11. size_t Hash() const
  12. c_bool IsNil() const
  13. c_bool operator==(const CBaseID &rhs) const
  14. c_bool operator!=(const CBaseID &rhs) const
  15. const uint8_t *data() const
  16. c_string Binary() const
  17. c_string Hex() const
  18. cdef cppclass CUniqueID "ray::UniqueID"(CBaseID[CUniqueID]):
  19. CUniqueID()
  20. @staticmethod
  21. size_t Size()
  22. @staticmethod
  23. CUniqueID FromRandom()
  24. @staticmethod
  25. CUniqueID FromBinary(const c_string &binary)
  26. @staticmethod
  27. const CUniqueID Nil()
  28. cdef cppclass CActorClassID "ray::ActorClassID"(CBaseID[CActorClassID]):
  29. @staticmethod
  30. CActorClassID FromHex(const c_string &hex_str)
  31. cdef cppclass CActorID "ray::ActorID"(CBaseID[CActorID]):
  32. @staticmethod
  33. CActorID FromBinary(const c_string &binary)
  34. @staticmethod
  35. CActorID FromHex(const c_string &hex_str)
  36. @staticmethod
  37. const CActorID Nil()
  38. @staticmethod
  39. size_t Size()
  40. @staticmethod
  41. CActorID Of(CJobID job_id, CTaskID parent_task_id,
  42. int64_t parent_task_counter)
  43. CJobID JobId()
  44. cdef cppclass CNodeID "ray::NodeID"(CBaseID[CNodeID]):
  45. @staticmethod
  46. CNodeID FromHex(const c_string &hex_str)
  47. @staticmethod
  48. const CNodeID Nil()
  49. cdef cppclass CConfigID "ray::ConfigID"(CBaseID[CConfigID]):
  50. pass
  51. cdef cppclass CFunctionID "ray::FunctionID"(CBaseID[CFunctionID]):
  52. @staticmethod
  53. CFunctionID FromHex(const c_string &hex_str)
  54. cdef cppclass CJobID "ray::JobID"(CBaseID[CJobID]):
  55. @staticmethod
  56. CJobID FromBinary(const c_string &binary)
  57. @staticmethod
  58. CJobID FromHex(const c_string &hex_str)
  59. @staticmethod
  60. const CJobID Nil()
  61. @staticmethod
  62. size_t Size()
  63. @staticmethod
  64. CJobID FromInt(uint32_t value)
  65. uint32_t ToInt()
  66. cdef cppclass CTaskID "ray::TaskID"(CBaseID[CTaskID]):
  67. @staticmethod
  68. CTaskID FromBinary(const c_string &binary)
  69. @staticmethod
  70. CTaskID FromHex(const c_string &hex_str)
  71. @staticmethod
  72. const CTaskID Nil()
  73. @staticmethod
  74. size_t Size()
  75. @staticmethod
  76. CTaskID ForDriverTask(const CJobID &job_id)
  77. @staticmethod
  78. CTaskID FromRandom(const CJobID &job_id)
  79. @staticmethod
  80. CTaskID ForActorCreationTask(CActorID actor_id)
  81. @staticmethod
  82. CTaskID ForActorTask(CJobID job_id, CTaskID parent_task_id,
  83. int64_t parent_task_counter, CActorID actor_id)
  84. @staticmethod
  85. CTaskID ForNormalTask(CJobID job_id, CTaskID parent_task_id,
  86. int64_t parent_task_counter)
  87. CActorID ActorId() const
  88. CJobID JobId() const
  89. cdef cppclass CObjectID" ray::ObjectID"(CBaseID[CObjectID]):
  90. @staticmethod
  91. int64_t MaxObjectIndex()
  92. @staticmethod
  93. CObjectID FromBinary(const c_string &binary)
  94. @staticmethod
  95. CObjectID FromRandom()
  96. @staticmethod
  97. const CObjectID Nil()
  98. @staticmethod
  99. CObjectID FromIndex(const CTaskID &task_id, int64_t index)
  100. @staticmethod
  101. size_t Size()
  102. c_bool is_put()
  103. int64_t ObjectIndex() const
  104. CTaskID TaskId() const
  105. cdef cppclass CClusterID "ray::ClusterID"(CBaseID[CClusterID]):
  106. @staticmethod
  107. CClusterID FromHex(const c_string &hex_str)
  108. @staticmethod
  109. CClusterID FromRandom()
  110. @staticmethod
  111. const CClusterID Nil()
  112. cdef cppclass CWorkerID "ray::WorkerID"(CBaseID[CWorkerID]):
  113. @staticmethod
  114. CWorkerID FromHex(const c_string &hex_str)
  115. cdef cppclass CPlacementGroupID "ray::PlacementGroupID" \
  116. (CBaseID[CPlacementGroupID]):
  117. @staticmethod
  118. CPlacementGroupID FromBinary(const c_string &binary)
  119. @staticmethod
  120. CPlacementGroupID FromHex(const c_string &hex_str)
  121. @staticmethod
  122. const CPlacementGroupID Nil()
  123. @staticmethod
  124. size_t Size()
  125. @staticmethod
  126. CPlacementGroupID Of(CJobID job_id)
  127. ctypedef uint32_t ObjectIDIndexType