2 * $Id: Forwarder.java 5059 2007-11-19 20:01:59Z mquinson $
\r
4 * Copyright 2006,2007 Martin Quinson, Malek Cherier
\r
5 * All rights reserved.
\r
7 * This program is free software; you can redistribute it and/or modify it
\r
8 * under the terms of the license (GNU LGPL) which comes with this package.
\r
11 import simgrid.msg.*;
\r
13 public class Forwarder extends simgrid.msg.Process
\r
16 public void main(String[] args) throws JniException, NativeException
\r
20 int aliasCount = args.length;
\r
21 String[] aliases = new String[aliasCount];
\r
23 for (int i = 0; i < args.length; i++)
\r
25 aliases[i] = args[i];
\r
31 FinalizeTask finalizeTask;
\r
32 BasicTask basicTask;
\r
36 receivedTask = Task.receive(Host.currentHost().getName());
\r
38 if(receivedTask instanceof FinalizeTask)
\r
40 Msg.info("All tasks have been dispatched. Let's tell everybody the computation is over.");
\r
42 for (int cpt = 0; cpt < aliasCount; cpt++)
\r
44 finalizeTask = new FinalizeTask();
\r
45 finalizeTask.send(aliases[cpt]);
\r
51 basicTask = (BasicTask)receivedTask;
\r
53 Msg.info("Received \"" + basicTask.getName() + "\" ");
\r
55 Msg.info("Sending \"" + basicTask.getName() + "\" to \"" + aliases[taskCount % aliasCount] + "\"");
\r
57 basicTask.send(aliases[taskCount % aliasCount]);
\r
63 Msg.info("I'm done. See you!");
\r