static void master()
{
- auto mbox = simgrid::s4u::Mailbox::by_name("master_mailbox");
-
+ auto mbox = simgrid::s4u::Mailbox::by_name("master_mailbox");
for (int i = 0; i < 10; i++) {
Task task;
if (i % 2)
task = {"task_data", "data", 10, 10000000};
mbox->put(new Task(task), task.bytes);
}
-
Task finalize = {"finalize", "finalize", 0, 1000};
mbox->put(new Task(finalize), finalize.bytes);
}
{
auto mbox = simgrid::s4u::Mailbox::by_name("master_mailbox");
while (true) {
- const auto* task = static_cast<Task*>(mbox->get());
+ auto task = mbox->get_unique<Task>();
if (task->name == "finalize") {
- delete task;
break;
}
// creating task and setting its category
->set_name(task->name)
->set_tracing_category(task->category)
->wait();
- delete task;
}
}