Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Better Java philosophy: create a new type of tasks to mean terminaison instead of...
[simgrid.git] / examples / java / comm_time / 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    
15    public void main(String[] args) throws JniException, NativeException {
16       
17       Msg.info("Hello i'm a slave");
18       
19       Channel channel = new Channel(0);
20                 
21       while(true) {
22          int a;
23          double time1 = Msg.getClock();       
24          Task t = channel.get();        
25          double time2 = Msg.getClock();
26  
27          if (t instanceof FinalizeTask) {
28             Msg.info("Received Finalize " + getHost().getName());
29             break;
30          }
31          CommTimeTask task = (CommTimeTask)t;
32              
33          if(time1 < task.getTime())
34            time1 = task.getTime();
35          
36 /*       Msg.info("Processing \"" + task.getName() + "\" " + getHost().getName() + 
37                   " (Communication time : " +  (time2 - time1) + ")");
38 */           
39          task.execute();
40          
41          
42       }
43        
44       Msg.info("I'm done. See you!" + getHost().getName());
45    }
46 }