Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
All hosts types fusion to xbt_dictelm_t
[simgrid.git] / examples / lua / console / slave.lua
1
2
3 -- Slave Function ---------------------------------------------------------
4 function Slave(...)
5
6   if #arg ~= 1 then
7     error("Wrong number of arguments (got " .. #arg .. ", expected 1: slave_id)")
8   end
9
10   local my_mailbox = "slave " .. arg[1]
11   simgrid.info("Hello from lua, I'm a poor slave with mbox: " .. my_mailbox)
12
13   while true do
14
15     local task = simgrid.task.recv(my_mailbox);
16     --print(task)
17     local task_name = task:get_name()
18     if (task:get_name() == "finalize") then
19       simgrid.info("Slave '" .. my_mailbox .. "' got finalize msg");
20       break
21     end
22     --local tk_name = simgrid.task.get_name(tk) 
23     simgrid.info("Slave '" .. my_mailbox .. "' processing " .. task:get_name())
24     simgrid.task.execute(task)
25     simgrid.info("Slave '"  .. my_mailbox .. "': task " .. task:get_name() .. " done")
26   end -- while
27
28   simgrid.info("Slave '" .. my_mailbox .. "': I'm Done . See You !!");
29
30 end 
31 -- end_of_slave