+++ /dev/null
-/*\r
- * $Id: Forwarder.java 5059 2007-11-19 20:01:59Z mquinson $\r
- *\r
- * Copyright 2006,2007 Martin Quinson, Malek Cherier \r
- * All rights reserved. \r
- *\r
- * This program is free software; you can redistribute it and/or modify it\r
- * under the terms of the license (GNU LGPL) which comes with this package. \r
- */\r
-\r
-import simgrid.msg.*;\r
-\r
-public class Forwarder extends simgrid.msg.Process \r
-{\r
- \r
- public void main(String[] args) throws JniException, NativeException \r
- {\r
- Msg.info("hello!");\r
- \r
- int aliasCount = args.length;\r
- String[] aliases = new String[aliasCount];\r
- \r
- for (int i = 0; i < args.length; i++) \r
- { \r
- aliases[i] = args[i];\r
- }\r
- \r
- int taskCount = 0;\r
- \r
- Task receivedTask;\r
- FinalizeTask finalizeTask;\r
- BasicTask task;\r
- \r
- while(true) \r
- {\r
- receivedTask = Task.receive(Host.currentHost().getName()); \r
- \r
- if(receivedTask instanceof FinalizeTask) \r
- {\r
- Msg.info("All tasks have been dispatched. Let's tell everybody the computation is over.");\r
- \r
- for (int cpt = 0; cpt < aliasCount; cpt++) \r
- {\r
- finalizeTask = new FinalizeTask();\r
- finalizeTask.send(aliases[cpt]);\r
- }\r
- \r
- break;\r
- }\r
- \r
- task = (BasicTask)receivedTask;\r
- \r
- Msg.info("Received \"" + task.getName() + "\" ");\r
- \r
- Msg.info("Sending \"" + task.getName() + "\" to \"" + aliases[taskCount % aliasCount] + "\"");\r
- \r
- task.send(aliases[taskCount % aliasCount]);\r
- \r
- taskCount++;\r
- }\r
- \r
- \r
- Msg.info("I'm done. See you!");\r
- }\r
-}\r
-\r