/*
- * $Id$
- *
- * Copyright 2006,2007 Martin Quinson, Malek Cherier
- * All rights reserved.
+ * Copyright 2006,2007,2010. The SimGrid Team. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package.
*/
-import simgrid.msg.*;
+import simgrid.msg.HostFailureException;
+import simgrid.msg.Msg;
+import simgrid.msg.Task;
+import simgrid.msg.TaskCancelledException;
+import simgrid.msg.TimeoutException;
+import simgrid.msg.TransferFailureException;
public class Slave extends simgrid.msg.Process {
- public void main(String[] args) throws JniException, NativeException {
- Msg.info("Hello !");
-
- Channel channel = new Channel(0);
+ public void main(String[] args) throws TransferFailureException, HostFailureException, TimeoutException {
+ if (args.length < 1) {
+ Msg.info("Slave needs 1 argument (its number)");
+ System.exit(1);
+ }
+
+ int num = Integer.valueOf(args[0]).intValue();
+ //Msg.info("Receiving on 'slave_"+num+"'");
+
+ while(true) {
+ Task task = Task.receive("slave_"+num);
+
+ if (task instanceof FinalizeTask) {
+ break;
+ }
+ Msg.info("Received \"" + task.getName() + "\". Processing it.");
+ try {
+ task.execute();
+ } catch (TaskCancelledException e) {
+
+ }
+ // Msg.info("\"" + task.getName() + "\" done ");
+ }
- while(true) {
- Task t = channel.get();
-
- if (t instanceof FinalizeTask) {
- break;
- }
- BasicTask task = (BasicTask)t;
- Msg.info("Received \"" + task.getName() + "\" ");
-
- if (task.getData() == 0) {
- Msg.info("task.getData() gave null \"" + task.getName() + "\" ");
- } else if(task.getData() == 221297) {
- break;
- }
-
- Msg.info("Processing \"" + task.getName() + "\" ");
-
- task.execute();
- Msg.info("\"" + task.getName() + "\" done ");
- }
-
- Msg.info("Received Finalize. I'm done. See you!");
- }
+ //Msg.info("Received Finalize. I'm done. See you!");
+ }
}
\ No newline at end of file