Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
More java approach with a specific task type for finalization instead of magic value...
[simgrid.git] / examples / java / basic / Slave.java
1 /*
2  * $Id$
3  *
4  * Copyright 2006,2007 Martin Quinson, Malek Cherier         
5  * All rights reserved. 
6  *
7  * This program is free software; you can redistribute it and/or modify it
8  * under the terms of the license (GNU LGPL) which comes with this package. 
9  */
10
11 import simgrid.msg.*;
12
13 public class Slave extends simgrid.msg.Process {
14    public void main(String[] args) throws JniException, NativeException {
15       Msg.info("Hello !");
16       
17       Channel channel = new Channel(0);
18
19       while(true) { 
20          Task t = channel.get();        
21          
22          if (t instanceof FinalizeTask) {
23             break;
24          }
25          BasicTask task = (BasicTask)t;
26          Msg.info("Received \"" + task.getName() + "\" ");
27          
28          if (task.getData() == 0) {
29             Msg.info("task.getData() gave null \"" + task.getName() + "\" ");
30          } else if(task.getData() == 221297) {
31             break;
32          }
33          
34          Msg.info("Processing \"" + task.getName() +  "\" ");
35          
36          task.execute();
37          Msg.info("\"" + task.getName() + "\" done ");
38        }
39        
40       Msg.info("Received Finalize. I'm done. See you!");
41     }
42 }