Example #1
0
bool operator == (const Task& left, const Task& right)
{
    // Order of task statuses is important.
    if (left.statuses().size() != right.statuses().size()) {
        return false;
    }

    for (int i = 0; i < left.statuses().size(); i++) {
        if (left.statuses().Get(i) != right.statuses().Get(i)) {
            return false;
        }
    }

    return left.name() == right.name() &&
           left.task_id() == right.task_id() &&
           left.framework_id() == right.framework_id() &&
           left.executor_id() == right.executor_id() &&
           left.slave_id() == right.slave_id() &&
           left.state() == right.state() &&
           Resources(left.resources()) == Resources(right.resources()) &&
           left.status_update_state() == right.status_update_state() &&
           left.status_update_uuid() == right.status_update_uuid() &&
           left.labels() == right.labels() &&
           left.discovery() == right.discovery();
}
Example #2
0
inline bool operator == (const Task& left, const Task& right)
{
  return left.name() == right.name() &&
    left.task_id() == right.task_id() &&
    left.framework_id() == right.framework_id() &&
    left.slave_id() == right.slave_id() &&
    left.state() == right.state() &&
    Resources(left.resources()) == Resources(right.resources()) &&
    left.has_executor_id() == right.has_executor_id() &&
    (!left.has_executor_id() || (left.executor_id() == right.executor_id()));
}
Example #3
0
// TODO(bmahler): Expose the executor name / source.
JSON::Object model(const Task& task)
{
  JSON::Object object;
  object.values["id"] = task.task_id().value();
  object.values["name"] = task.name();
  object.values["framework_id"] = task.framework_id().value();

  if (task.has_executor_id()) {
    object.values["executor_id"] = task.executor_id().value();
  } else {
    object.values["executor_id"] = "";
  }

  object.values["slave_id"] = task.slave_id().value();
  object.values["state"] = TaskState_Name(task.state());
  object.values["resources"] = model(task.resources());

  JSON::Array array;
  foreach (const TaskStatus& status, task.statuses()) {
    array.values.push_back(model(status));
  }
  object.values["statuses"] = array;

  JSON::Array labels;
  foreach (const Label& label, task.labels()) {
    labels.values.push_back(JSON::Protobuf(label));
  }
  object.values["labels"] = labels;

  return object;
}