Cleanup depulicated code of Cython ID types (#4162)

This commit is contained in:
Hao Chen
2019-02-26 16:19:12 +08:00
committed by GitHub
parent 60dbc771a2
commit 62055cc01c
3 changed files with 28 additions and 208 deletions
+6 -6
View File
@@ -79,7 +79,7 @@ cdef c_vector[CObjectID] ObjectIDsToVector(object_ids):
cdef VectorToObjectIDs(c_vector[CObjectID] object_ids):
result = []
for i in range(object_ids.size()):
result.append(ObjectID.from_native(object_ids[i]))
result.append(ObjectID(object_ids[i].binary()))
return result
@@ -87,11 +87,11 @@ def compute_put_id(TaskID task_id, int64_t put_index):
if put_index < 1 or put_index > kMaxTaskPuts:
raise ValueError("The range of 'put_index' should be [1, %d]"
% kMaxTaskPuts)
return ObjectID.from_native(ComputePutId(task_id.data, put_index))
return ObjectID(ComputePutId(task_id.data, put_index).binary())
def compute_task_id(ObjectID object_id):
return TaskID.from_native(ComputeTaskId(object_id.data))
return TaskID(ComputeTaskId(object_id.data).binary())
cdef c_bool is_simple_value(value, int *num_elements_contained):
@@ -354,7 +354,7 @@ cdef class RayletClient:
cdef CActorCheckpointID checkpoint_id
check_status(self.client.get().PrepareActorCheckpoint(
actor_id.data, checkpoint_id))
return ActorCheckpointID.from_native(checkpoint_id)
return ActorCheckpointID(checkpoint_id.binary())
def notify_actor_resumed_from_checkpoint(self, ActorID actor_id,
ActorCheckpointID checkpoint_id):
@@ -367,11 +367,11 @@ cdef class RayletClient:
@property
def client_id(self):
return ClientID.from_native(self.client.get().GetClientID())
return ClientID(self.client.get().GetClientID().binary())
@property
def driver_id(self):
return DriverID.from_native(self.client.get().GetDriverID())
return DriverID(self.client.get().GetDriverID().binary())
@property
def is_worker(self):
+9 -9
View File
@@ -128,15 +128,15 @@ cdef class Task:
def driver_id(self):
"""Return the driver ID for this task."""
return DriverID.from_native(self.task_spec.get().DriverId())
return DriverID(self.task_spec.get().DriverId().binary())
def task_id(self):
"""Return the task ID for this task."""
return TaskID.from_native(self.task_spec.get().TaskId())
return TaskID(self.task_spec.get().TaskId().binary())
def parent_task_id(self):
"""Return the task ID of the parent task."""
return TaskID.from_native(self.task_spec.get().ParentTaskId())
return TaskID(self.task_spec.get().ParentTaskId().binary())
def parent_counter(self):
"""Return the parent counter of this task."""
@@ -166,7 +166,7 @@ cdef class Task:
if count > 0:
assert count == 1
arg_list.append(
ObjectID.from_native(task_spec.ArgId(i, 0)))
ObjectID(task_spec.ArgId(i, 0).binary()))
else:
serialized_str = (
task_spec.ArgVal(i)[:task_spec.ArgValLength(i)])
@@ -182,7 +182,7 @@ cdef class Task:
cdef CTaskSpecification *task_spec = self.task_spec.get()
return_id_list = []
for i in range(task_spec.NumReturns()):
return_id_list.append(ObjectID.from_native(task_spec.ReturnId(i)))
return_id_list.append(ObjectID(task_spec.ReturnId(i).binary()))
return return_id_list
def required_resources(self):
@@ -211,16 +211,16 @@ cdef class Task:
def actor_creation_id(self):
"""Return the actor creation ID for the task."""
return ActorID.from_native(self.task_spec.get().ActorCreationId())
return ActorID(self.task_spec.get().ActorCreationId().binary())
def actor_creation_dummy_object_id(self):
"""Return the actor creation dummy object ID for the task."""
return ObjectID.from_native(
self.task_spec.get().ActorCreationDummyObjectId())
return ObjectID(
self.task_spec.get().ActorCreationDummyObjectId().binary())
def actor_id(self):
"""Return the actor ID for this task."""
return ActorID.from_native(self.task_spec.get().ActorId())
return ActorID(self.task_spec.get().ActorId().binary())
def actor_counter(self):
"""Return the actor counter for this task."""
+13 -193
View File
@@ -51,21 +51,15 @@ cdef class UniqueID:
check_id(id)
self.data = CUniqueID.from_binary(id)
@staticmethod
cdef from_native(const CUniqueID& cpp_id):
cdef UniqueID self = UniqueID.__new__(UniqueID)
self.data = cpp_id
return self
@classmethod
def from_binary(cls, id_bytes):
if not isinstance(id_bytes, bytes):
raise TypeError("Expect bytes, got " + str(type(id_bytes)))
return cls(id_bytes)
@staticmethod
def nil():
return UniqueID.from_native(CUniqueID.nil())
@classmethod
def nil(cls):
return cls(b"")
def __hash__(self):
return self.data.hash()
@@ -82,9 +76,6 @@ cdef class UniqueID:
def size(self):
return self.data.size()
def __len__(self):
return self.size()
def binary(self):
return self.data.binary()
@@ -98,7 +89,7 @@ cdef class UniqueID:
return self.hex()
def __repr__(self):
return "UniqueID(" + self.hex() + ")"
return self.__class__.__name__ + "(" + self.hex() + ")"
def __str__(self):
return self.__repr__()
@@ -115,210 +106,39 @@ cdef class UniqueID:
cdef class ObjectID(UniqueID):
def __init__(self, id):
if not id:
self.data = CUniqueID()
else:
check_id(id)
self.data = CUniqueID.from_binary(id)
@staticmethod
cdef from_native(const CObjectID& cpp_id):
cdef ObjectID self = ObjectID.__new__(ObjectID)
self.data = cpp_id
return self
@staticmethod
def nil():
return ObjectID.from_native(CObjectID.nil())
def __repr__(self):
return "ObjectID(" + self.hex() + ")"
pass
cdef class TaskID(UniqueID):
def __init__(self, id):
if not id:
self.data = CUniqueID()
else:
check_id(id)
self.data = CUniqueID.from_binary(id)
@staticmethod
cdef from_native(const CTaskID& cpp_id):
cdef TaskID self = TaskID.__new__(TaskID)
self.data = cpp_id
return self
@staticmethod
def nil():
return TaskID.from_native(CTaskID.nil())
def __repr__(self):
return "TaskID(" + self.hex() + ")"
pass
cdef class ClientID(UniqueID):
def __init__(self, id):
if not id:
self.data = CUniqueID()
else:
check_id(id)
self.data = CUniqueID.from_binary(id)
@staticmethod
cdef from_native(const CClientID& cpp_id):
cdef ClientID self = ClientID.__new__(ClientID)
self.data = cpp_id
return self
@staticmethod
def nil():
return ClientID.from_native(CClientID.nil())
def __repr__(self):
return "ClientID(" + self.hex() + ")"
pass
cdef class DriverID(UniqueID):
def __init__(self, id):
if not id:
self.data = CUniqueID()
else:
check_id(id)
self.data = CUniqueID.from_binary(id)
@staticmethod
cdef from_native(const CDriverID& cpp_id):
cdef DriverID self = DriverID.__new__(DriverID)
self.data = cpp_id
return self
@staticmethod
def nil():
return DriverID.from_native(CDriverID.nil())
def __repr__(self):
return "DriverID(" + self.hex() + ")"
pass
cdef class ActorID(UniqueID):
def __init__(self, id):
if not id:
self.data = CUniqueID()
else:
check_id(id)
self.data = CUniqueID.from_binary(id)
@staticmethod
cdef from_native(const CActorID& cpp_id):
cdef ActorID self = ActorID.__new__(ActorID)
self.data = cpp_id
return self
@staticmethod
def nil():
return ActorID.from_native(CActorID.nil())
def __repr__(self):
return "ActorID(" + self.hex() + ")"
pass
cdef class ActorHandleID(UniqueID):
def __init__(self, id):
if not id:
self.data = CUniqueID()
else:
check_id(id)
self.data = CUniqueID.from_binary(id)
@staticmethod
cdef from_native(const CActorHandleID& cpp_id):
cdef ActorHandleID self = ActorHandleID.__new__(ActorHandleID)
self.data = cpp_id
return self
@staticmethod
def nil():
return ActorHandleID.from_native(CActorHandleID.nil())
def __repr__(self):
return "ActorHandleID(" + self.hex() + ")"
pass
cdef class ActorCheckpointID(UniqueID):
def __init__(self, id):
if not id:
self.data = CUniqueID()
else:
check_id(id)
self.data = CUniqueID.from_binary(id)
@staticmethod
cdef from_native(const CActorCheckpointID& cpp_id):
cdef ActorCheckpointID self = ActorCheckpointID.__new__(ActorCheckpointID)
self.data = cpp_id
return self
@staticmethod
def nil():
return ActorCheckpointID.from_native(CActorCheckpointID.nil())
def __repr__(self):
return "ActorCheckpointID(" + self.hex() + ")"
pass
cdef class FunctionID(UniqueID):
def __init__(self, id):
if not id:
self.data = CUniqueID()
else:
check_id(id)
self.data = CUniqueID.from_binary(id)
@staticmethod
cdef from_native(const CFunctionID& cpp_id):
cdef FunctionID self = FunctionID.__new__(FunctionID)
self.data = cpp_id
return self
@staticmethod
def nil():
return FunctionID.from_native(CFunctionID.nil())
def __repr__(self):
return "FunctionID(" + self.hex() + ")"
pass
cdef class ActorClassID(UniqueID):
def __init__(self, id):
if not id:
self.data = CUniqueID()
else:
check_id(id)
self.data = CUniqueID.from_binary(id)
@staticmethod
cdef from_native(const CActorClassID& cpp_id):
cdef ActorClassID self = ActorClassID.__new__(ActorClassID)
self.data = cpp_id
return self
@staticmethod
def nil():
return ActorClassID.from_native(CActorClassID.nil())
def __repr__(self):
return "ActorClassID(" + self.hex() + ")"
pass
_ID_TYPES = [