Example #1
0
Labels HookManager::masterLaunchTaskLabelDecorator(
    const TaskInfo& taskInfo,
    const FrameworkInfo& frameworkInfo,
    const SlaveInfo& slaveInfo)
{
  Lock lock(&mutex);
  Labels labels;

  foreachpair (const string& name, Hook* hook, availableHooks) {
    const Result<Labels>& result =
      hook->masterLaunchTaskLabelDecorator(taskInfo, frameworkInfo, slaveInfo);
    if (result.isSome()) {
      labels.MergeFrom(result.get());
    } else if (result.isError()) {
      LOG(WARNING) << "Master label decorator hook failed for module '"
                   << name << "': " << result.error();
    }
  }

  return labels;
}