annotate test/channeltest/testNetworkSimulator.java @ 489:4aba8ae3125b

debugging new merge
author one
date Fri, 22 Oct 2010 11:27:57 +0900
parents edb373aa421e
children
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;
174
72252e970a8b *** empty log message ***
kent
parents: 172
diff changeset
15 static public REPLogger logger = REPLogger.singleton();
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
16
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
17 public static void main(String[] args){
314
edb373aa421e use channel lock instead of selector lock.
kono
parents: 248
diff changeset
18 REPServerSocketChannel.isSimulation = true;
248
e72e0eae1261 *** empty log message ***
kent
parents: 235
diff changeset
19 testNetworkSimulator testns = new testNetworkSimulator(3, 10, 90);
175
5653cf8e3c8b *** empty log message ***
kent
parents: 174
diff changeset
20 logger.setLogLevel(5);
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
21
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
22 testns.startTest();
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
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
26 /** Constructor. */
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
27 public testNetworkSimulator(int sm, int ss,int e){
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
28 semaList = new ArrayList<testSeMa>();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
29 semasList = new ArrayList<testSeMaSlave>();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
30 editorList = new ArrayList<testEditor>();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
31 NoSemaMaster = sm;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
32 NoSemaSlave = ss;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
33 NoEditor = e;
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
34 }
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
35
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
36 public void startTest(){
161
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
37 int port = 11000;
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
38 int masterPort = port;
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
39 int slavePort;
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
40 String host = "localhost";
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
41 Random rand = new Random();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
42 for (int i=0; i<NoSemaMaster; i++){
161
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
43 testSeMa sm = new testSeMa("SeMa"+i, host, port++);
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
44 semaList.add(sm);
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
45 sm.start();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
46 }
174
72252e970a8b *** empty log message ***
kent
parents: 172
diff changeset
47 logger.writeLog("all master SessionManagers were created",1);
208
302c4a0afab6 *** empty log message ***
kono
parents: 203
diff changeset
48 sleep(100);
161
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
49 slavePort = port;
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
50 for (int i=0; i<NoSemaSlave; i++){
161
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
51 testSeMaSlave sm = new testSeMaSlave("SeMaS"+i,
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
52 host, port++, // own ip address
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
53 host, masterPort+rand.nextInt(NoSemaMaster)); // random server address to connect
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
54 semasList.add(sm);
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
55 sm.start();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
56 }
203
4c0a94836357 *** empty log message ***
kono
parents: 196
diff changeset
57 logger.writeLog("all slave SessionManagers were created "+slavePort,1);
208
302c4a0afab6 *** empty log message ***
kono
parents: 203
diff changeset
58 sleep(100);
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
59 for (int i=0; i<NoEditor; i++){
161
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
60 testEditor te = new testEditor("Editor"+i,host, masterPort+rand.nextInt(NoSemaMaster+NoSemaSlave));
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
61 editorList.add(te);
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
62 te.start();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
63 }
174
72252e970a8b *** empty log message ***
kent
parents: 172
diff changeset
64 logger.writeLog("all SessionManagers and Editors ware constructed.");
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
65 Checker();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
66
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
67 try {
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
68 for (testEditor te: editorList)
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
69 te.join();
174
72252e970a8b *** empty log message ***
kent
parents: 172
diff changeset
70 logger.writeLog("main: all clients exited.");
196
b85525d83b46 *** empty log message ***
kono
parents: 189
diff changeset
71 for (testSeMa te: semaList)
b85525d83b46 *** empty log message ***
kono
parents: 189
diff changeset
72 te.join();
b85525d83b46 *** empty log message ***
kono
parents: 189
diff changeset
73 for (testSeMaSlave te: semasList)
b85525d83b46 *** empty log message ***
kono
parents: 189
diff changeset
74 te.join();
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
75
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
76 } catch (InterruptedException e) {
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
77 e.printStackTrace();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
78 }
196
b85525d83b46 *** empty log message ***
kono
parents: 189
diff changeset
79 //System.exit(0);
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
80 }
208
302c4a0afab6 *** empty log message ***
kono
parents: 203
diff changeset
81
302c4a0afab6 *** empty log message ***
kono
parents: 203
diff changeset
82
302c4a0afab6 *** empty log message ***
kono
parents: 203
diff changeset
83 private void sleep(int time) {
230
43445986113b *** empty log message ***
kent
parents: 211
diff changeset
84 try {
43445986113b *** empty log message ***
kent
parents: 211
diff changeset
85 Thread.sleep(time);
43445986113b *** empty log message ***
kent
parents: 211
diff changeset
86 } catch (InterruptedException e) {
43445986113b *** empty log message ***
kent
parents: 211
diff changeset
87 // TODO Auto-generated catch block
43445986113b *** empty log message ***
kent
parents: 211
diff changeset
88 e.printStackTrace();
208
302c4a0afab6 *** empty log message ***
kono
parents: 203
diff changeset
89 }
302c4a0afab6 *** empty log message ***
kono
parents: 203
diff changeset
90 }
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
91
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
92 public void Checker(){
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
93
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
94 }
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
95 }