Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
086a1928ab58765d94136167438c1e41908a54c8
[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,time2;
24           
25          time1 = Msg.getClock();
26          
27          CommTimeTask task = (CommTimeTask)channel.get();
28          time2 = Msg.getClock();
29                                 
30          if(task.getData() == 221297) {
31             Msg.info("Received " + task.getName() + " " + getHost().getName());
32             break;
33          }
34              
35          if(time1 < task.getTime())
36            time1 = task.getTime();
37          
38          Msg.info("Processing \"" + task.getName() + "\" " + getHost().getName() + 
39                   " (Communication time : " +  (time2 - time1) + ")");
40              
41          task.execute();
42          
43          
44       }
45        
46       Msg.info("I'm done. See you!" + getHost().getName());
47    }
48 }