Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
a39430a09a6f94a4b3919de1cbd9edd7c0f5b94d
[simgrid.git] / examples / java / pingPong / Sender.java
1 /*
2  * Copyright (c) 2006-2013. The SimGrid Team.
3  * All rights reserved.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of the license (GNU LGPL) which comes with this package. 
7  */
8 package pingPong;
9 import org.simgrid.msg.Host;
10 import org.simgrid.msg.HostNotFoundException;
11 import org.simgrid.msg.Msg;
12 import org.simgrid.msg.MsgException;
13 import org.simgrid.msg.Process;
14
15 public class Sender extends Process {
16         public Sender(Host host, String name, String[] args) {
17                 super(host,name,args);
18         }
19     private final double commSizeLat = 1;
20     final double commSizeBw = 100000000;
21    
22     public void main(String[] args) throws MsgException {
23         
24        Msg.info("hello!");
25         
26        int hostCount = args.length;
27         
28        Msg.info("host count: " + hostCount);
29        String mailboxes[] = new String[hostCount]; 
30        double time;
31        double computeDuration = 0;
32        PingPongTask task;
33         
34        for(int pos = 0; pos < args.length ; pos++) {
35           try {
36              mailboxes[pos] = Host.getByName(args[pos]).getName();
37           } catch (HostNotFoundException e) {
38              Msg.info("Invalid deployment file: " + e.toString());           
39              System.exit(1);
40           }
41         }
42         
43         for (int pos = 0; pos < hostCount; pos++) { 
44            time = Msg.getClock(); 
45             
46            Msg.info("sender time: " + time);
47            
48            task = new PingPongTask("no name",computeDuration,commSizeLat);
49            task.setTime(time);
50             
51            task.send(mailboxes[pos]);
52         } 
53         
54         Msg.info("goodbye!");
55     }
56 }