mirror of
https://github.com/wassname/ray.git
synced 2026-07-28 11:25:04 +08:00
Change TaskSpec to allow multiple object IDs per argument. (#1204)
* Implement object ID bags * linting * fix tests * fix linting * fix comments
This commit is contained in:
committed by
Robert Nishihara
parent
07f0532b9b
commit
e798a652bc
@@ -23,7 +23,7 @@ static inline TaskSpec *example_task_spec_with_args(int64_t num_args,
|
||||
} else {
|
||||
arg_id = arg_ids[i];
|
||||
}
|
||||
TaskSpec_args_add_ref(g_task_builder, arg_id);
|
||||
TaskSpec_args_add_ref(g_task_builder, &arg_id, 1);
|
||||
}
|
||||
return TaskSpec_finish_construct(g_task_builder, task_spec_size);
|
||||
}
|
||||
|
||||
@@ -19,10 +19,10 @@ TEST task_test(void) {
|
||||
NIL_ACTOR_ID, 0, false, func_id, 2);
|
||||
|
||||
UniqueID arg1 = globally_unique_id();
|
||||
TaskSpec_args_add_ref(builder, arg1);
|
||||
TaskSpec_args_add_ref(builder, &arg1, 1);
|
||||
TaskSpec_args_add_val(builder, (uint8_t *) "hello", 5);
|
||||
UniqueID arg2 = globally_unique_id();
|
||||
TaskSpec_args_add_ref(builder, arg2);
|
||||
TaskSpec_args_add_ref(builder, &arg2, 1);
|
||||
TaskSpec_args_add_val(builder, (uint8_t *) "world", 5);
|
||||
/* Finish constructing the spec. This constructs the task ID and the
|
||||
* return IDs. */
|
||||
@@ -33,10 +33,10 @@ TEST task_test(void) {
|
||||
ASSERT(TaskSpec_num_args(spec) == 4);
|
||||
ASSERT(TaskSpec_num_returns(spec) == 2);
|
||||
ASSERT(FunctionID_equal(TaskSpec_function(spec), func_id));
|
||||
ASSERT(ObjectID_equal(TaskSpec_arg_id(spec, 0), arg1));
|
||||
ASSERT(ObjectID_equal(TaskSpec_arg_id(spec, 0, 0), arg1));
|
||||
ASSERT(memcmp(TaskSpec_arg_val(spec, 1), (uint8_t *) "hello",
|
||||
TaskSpec_arg_length(spec, 1)) == 0);
|
||||
ASSERT(ObjectID_equal(TaskSpec_arg_id(spec, 2), arg2));
|
||||
ASSERT(ObjectID_equal(TaskSpec_arg_id(spec, 2, 0), arg2));
|
||||
ASSERT(memcmp(TaskSpec_arg_val(spec, 3), (uint8_t *) "world",
|
||||
TaskSpec_arg_length(spec, 3)) == 0);
|
||||
|
||||
@@ -56,7 +56,7 @@ TEST deterministic_ids_test(void) {
|
||||
/* Construct a first task. */
|
||||
TaskSpec_start_construct(builder, NIL_ID, parent_task_id, 0, NIL_ACTOR_ID,
|
||||
NIL_ACTOR_ID, 0, false, func_id, 3);
|
||||
TaskSpec_args_add_ref(builder, arg1);
|
||||
TaskSpec_args_add_ref(builder, &arg1, 1);
|
||||
TaskSpec_args_add_val(builder, arg2, 11);
|
||||
int64_t size1;
|
||||
TaskSpec *spec1 = TaskSpec_finish_construct(builder, &size1);
|
||||
@@ -64,7 +64,7 @@ TEST deterministic_ids_test(void) {
|
||||
/* Construct a second identical task. */
|
||||
TaskSpec_start_construct(builder, NIL_ID, parent_task_id, 0, NIL_ACTOR_ID,
|
||||
NIL_ACTOR_ID, 0, false, func_id, 3);
|
||||
TaskSpec_args_add_ref(builder, arg1);
|
||||
TaskSpec_args_add_ref(builder, &arg1, 1);
|
||||
TaskSpec_args_add_val(builder, arg2, 11);
|
||||
int64_t size2;
|
||||
TaskSpec *spec2 = TaskSpec_finish_construct(builder, &size2);
|
||||
@@ -84,7 +84,7 @@ TEST deterministic_ids_test(void) {
|
||||
/* Construct a task with a different parent task ID. */
|
||||
TaskSpec_start_construct(builder, NIL_ID, globally_unique_id(), 0,
|
||||
NIL_ACTOR_ID, NIL_ACTOR_ID, 0, false, func_id, 3);
|
||||
TaskSpec_args_add_ref(builder, arg1);
|
||||
TaskSpec_args_add_ref(builder, &arg1, 1);
|
||||
TaskSpec_args_add_val(builder, arg2, 11);
|
||||
int64_t size3;
|
||||
TaskSpec *spec3 = TaskSpec_finish_construct(builder, &size3);
|
||||
@@ -92,7 +92,7 @@ TEST deterministic_ids_test(void) {
|
||||
/* Construct a task with a different parent counter. */
|
||||
TaskSpec_start_construct(builder, NIL_ID, parent_task_id, 1, NIL_ACTOR_ID,
|
||||
NIL_ACTOR_ID, 0, false, func_id, 3);
|
||||
TaskSpec_args_add_ref(builder, arg1);
|
||||
TaskSpec_args_add_ref(builder, &arg1, 1);
|
||||
TaskSpec_args_add_val(builder, arg2, 11);
|
||||
int64_t size4;
|
||||
TaskSpec *spec4 = TaskSpec_finish_construct(builder, &size4);
|
||||
@@ -100,7 +100,7 @@ TEST deterministic_ids_test(void) {
|
||||
/* Construct a task with a different function ID. */
|
||||
TaskSpec_start_construct(builder, NIL_ID, parent_task_id, 0, NIL_ACTOR_ID,
|
||||
NIL_ACTOR_ID, 0, false, globally_unique_id(), 3);
|
||||
TaskSpec_args_add_ref(builder, arg1);
|
||||
TaskSpec_args_add_ref(builder, &arg1, 1);
|
||||
TaskSpec_args_add_val(builder, arg2, 11);
|
||||
int64_t size5;
|
||||
TaskSpec *spec5 = TaskSpec_finish_construct(builder, &size5);
|
||||
@@ -108,7 +108,8 @@ TEST deterministic_ids_test(void) {
|
||||
/* Construct a task with a different object ID argument. */
|
||||
TaskSpec_start_construct(builder, NIL_ID, parent_task_id, 0, NIL_ACTOR_ID,
|
||||
NIL_ACTOR_ID, 0, false, func_id, 3);
|
||||
TaskSpec_args_add_ref(builder, globally_unique_id());
|
||||
ObjectID object_id = globally_unique_id();
|
||||
TaskSpec_args_add_ref(builder, &object_id, 1);
|
||||
TaskSpec_args_add_val(builder, arg2, 11);
|
||||
int64_t size6;
|
||||
TaskSpec *spec6 = TaskSpec_finish_construct(builder, &size6);
|
||||
@@ -116,7 +117,7 @@ TEST deterministic_ids_test(void) {
|
||||
/* Construct a task with a different value argument. */
|
||||
TaskSpec_start_construct(builder, NIL_ID, parent_task_id, 0, NIL_ACTOR_ID,
|
||||
NIL_ACTOR_ID, 0, false, func_id, 3);
|
||||
TaskSpec_args_add_ref(builder, arg1);
|
||||
TaskSpec_args_add_ref(builder, &arg1, 1);
|
||||
TaskSpec_args_add_val(builder, (uint8_t *) "hello_world", 11);
|
||||
int64_t size7;
|
||||
TaskSpec *spec7 = TaskSpec_finish_construct(builder, &size7);
|
||||
@@ -161,10 +162,12 @@ TEST send_task(void) {
|
||||
FunctionID func_id = globally_unique_id();
|
||||
TaskSpec_start_construct(builder, NIL_ID, parent_task_id, 0, NIL_ACTOR_ID,
|
||||
NIL_ACTOR_ID, 0, false, func_id, 2);
|
||||
TaskSpec_args_add_ref(builder, globally_unique_id());
|
||||
ObjectID object_id = globally_unique_id();
|
||||
TaskSpec_args_add_ref(builder, &object_id, 1);
|
||||
TaskSpec_args_add_val(builder, (uint8_t *) "Hello", 5);
|
||||
TaskSpec_args_add_val(builder, (uint8_t *) "World", 5);
|
||||
TaskSpec_args_add_ref(builder, globally_unique_id());
|
||||
object_id = globally_unique_id();
|
||||
TaskSpec_args_add_ref(builder, &object_id, 1);
|
||||
int64_t size;
|
||||
TaskSpec *spec = TaskSpec_finish_construct(builder, &size);
|
||||
int fd[2];
|
||||
|
||||
Reference in New Issue
Block a user