annotate test/channeltest/testNetworkSimulator.java @ 157:f0d80a64aba0

*** empty log message ***
author kono
date Thu, 28 Aug 2008 16:20:17 +0900
parents fafbaaa0abd0
children 5b4be02e7243
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
1 package test.channeltest;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
2
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
3 import java.util.ArrayList;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
4 import java.util.Random;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
5 import rep.channel.REPLogger;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
6
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
7 public class testNetworkSimulator {
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
8 private ArrayList<testSeMa> semaList;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
9 private ArrayList<testSeMaSlave> semasList;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
10 private ArrayList<testEditor> editorList;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
11 private int NoSemaMaster;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
12 private int NoSemaSlave;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
13 private int NoEditor;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
14 static public REPLogger ns = new REPLogger();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
15
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
16 public static void main(String[] args){
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
17 testNetworkSimulator testns = new testNetworkSimulator(3, 10, 50);
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
18
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
19 testns.startTest();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
20 }
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
21
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
22
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
23 /** Constructor. */
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
24 public testNetworkSimulator(int sm, int ss,int e){
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
25 semaList = new ArrayList<testSeMa>();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
26 semasList = new ArrayList<testSeMaSlave>();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
27 editorList = new ArrayList<testEditor>();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
28 NoSemaMaster = sm;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
29 NoSemaSlave = ss;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
30 NoEditor = e;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
31 }
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
32
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
33 public void startTest(){
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
34 Random rand = new Random();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
35 for (int i=0; i<NoSemaMaster; i++){
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
36 testSeMa sm = new testSeMa(ns, "SeMa"+i, i);
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
37 semaList.add(sm);
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
38 sm.start();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
39 }
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
40 for (int i=0; i<NoSemaSlave; i++){
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
41 testSeMaSlave sm = new testSeMaSlave(ns, "SeMaS"+i, i+NoSemaMaster, rand.nextInt(NoSemaMaster));
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
42 semasList.add(sm);
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
43 sm.start();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
44 }
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
45 for (int i=0; i<NoEditor; i++){
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
46 testEditor te = new testEditor(ns, "Editor"+i, rand.nextInt(NoSemaMaster+NoSemaSlave));
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
47 editorList.add(te);
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
48 te.start();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
49 }
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
50
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
51 Checker();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
52
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
53 try {
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
54 for (testEditor te: editorList)
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
55 te.join();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
56 ns.writeLog("main: all clients exited.", 1);
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
57
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
58 } catch (InterruptedException e) {
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
59 e.printStackTrace();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
60 }
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
61 System.exit(0);
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
62 }
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
63
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
64 public void Checker(){
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
65
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
66 }
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
67 }