annotate test/channeltest/testNetworkSimulator.java @ 161:5b4be02e7243

*** empty log message ***
author kono
date Thu, 28 Aug 2008 16:54:47 +0900
parents f0d80a64aba0
children 690182302c05
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;
161
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
6 import rep.channel.REPServerSocketChannel;
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
7
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
8 public class testNetworkSimulator {
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
9 private ArrayList<testSeMa> semaList;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
10 private ArrayList<testSeMaSlave> semasList;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
11 private ArrayList<testEditor> editorList;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
12 private int NoSemaMaster;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
13 private int NoSemaSlave;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
14 private int NoEditor;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
15 static public REPLogger ns = new REPLogger();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
16
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
17 public static void main(String[] args){
161
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
18 REPServerSocketChannel.isSimulation = false;
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
19 testNetworkSimulator testns = new testNetworkSimulator(3, 10, 50);
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
20
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
21 testns.startTest();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
22 }
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
23
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
24
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
25 /** Constructor. */
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
26 public testNetworkSimulator(int sm, int ss,int e){
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
27 semaList = new ArrayList<testSeMa>();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
28 semasList = new ArrayList<testSeMaSlave>();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
29 editorList = new ArrayList<testEditor>();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
30 NoSemaMaster = sm;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
31 NoSemaSlave = ss;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
32 NoEditor = e;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
33 }
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
34
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
35 public void startTest(){
161
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
36 int port = 11000;
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
37 int masterPort = port;
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
38 int slavePort;
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
39 String host = "localhost";
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
40 Random rand = new Random();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
41 for (int i=0; i<NoSemaMaster; i++){
161
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
42 testSeMa sm = new testSeMa("SeMa"+i, host, port++);
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
43 semaList.add(sm);
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
44 sm.start();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
45 }
161
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
46 slavePort = port;
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
47 for (int i=0; i<NoSemaSlave; i++){
161
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
48 testSeMaSlave sm = new testSeMaSlave("SeMaS"+i,
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
49 host, port++, // own ip address
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
50 host, masterPort+rand.nextInt(NoSemaMaster)); // random server address to connect
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
51 semasList.add(sm);
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
52 sm.start();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
53 }
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
54 for (int i=0; i<NoEditor; i++){
161
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
55 testEditor te = new testEditor("Editor"+i,host, masterPort+rand.nextInt(NoSemaMaster+NoSemaSlave));
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
56 editorList.add(te);
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
57 te.start();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
58 }
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
59
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
60 Checker();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
61
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
62 try {
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
63 for (testEditor te: editorList)
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
64 te.join();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
65 ns.writeLog("main: all clients exited.", 1);
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
66
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
67 } catch (InterruptedException e) {
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
68 e.printStackTrace();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
69 }
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
70 System.exit(0);
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
71 }
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
72
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
73 public void Checker(){
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
74
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
75 }
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
76 }