Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Implement MPI_IN_PLACE behavior for collectives
[simgrid.git] / examples / lua / masterslave / slave.lua
1 function Slave(...)
2
3   if #arg ~= 1 then
4     error("Wrong number of arguments (got " .. #arg .. ", expected 1: slave_id)")
5   end
6
7   local my_mailbox = "slave " .. arg[1]
8   simgrid.info("Hello from lua, I'm a poor slave with mailbox: " .. my_mailbox)
9
10   while true do
11
12     local task = simgrid.task.recv(my_mailbox)
13     local task_name = task:get_name()
14     if (task_name == "finalize") then
15       simgrid.info("Got finalize message")
16       break
17     end
18     simgrid.info("Received task '" .. task_name .. "' on mailbox '" .. my_mailbox .. "'")
19     task:execute()
20     simgrid.info("Task '" .. task_name .. "' is done")
21   end
22
23   simgrid.info("I'm done. See you!")
24 end -- end_of_slave
25