annotate test/channeltest/testNetworkSimulator.java @ 175:5653cf8e3c8b

*** empty log message ***
author kent
date Thu, 28 Aug 2008 21:22:07 +0900
parents 72252e970a8b
children 723187e39311
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){
174
72252e970a8b *** empty log message ***
kent
parents: 172
diff changeset
18 REPServerSocketChannel.isSimulation = true;
72252e970a8b *** empty log message ***
kent
parents: 172
diff changeset
19 testNetworkSimulator testns = new testNetworkSimulator(1, 0, 2);
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);
161
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
48 slavePort = port;
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
49 for (int i=0; i<NoSemaSlave; i++){
161
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
50 testSeMaSlave sm = new testSeMaSlave("SeMaS"+i,
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
51 host, port++, // own ip address
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
52 host, masterPort+rand.nextInt(NoSemaMaster)); // random server address to connect
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
53 semasList.add(sm);
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
54 sm.start();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
55 }
174
72252e970a8b *** empty log message ***
kent
parents: 172
diff changeset
56 logger.writeLog("all slave SessionManagers were created",1);
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
57 for (int i=0; i<NoEditor; i++){
161
5b4be02e7243 *** empty log message ***
kono
parents: 157
diff changeset
58 testEditor te = new testEditor("Editor"+i,host, masterPort+rand.nextInt(NoSemaMaster+NoSemaSlave));
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
59 editorList.add(te);
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
60 te.start();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
61 }
174
72252e970a8b *** empty log message ***
kent
parents: 172
diff changeset
62 logger.writeLog("all SessionManagers and Editors ware constructed.");
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
63 Checker();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
64
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
65 try {
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
66 for (testEditor te: editorList)
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
67 te.join();
174
72252e970a8b *** empty log message ***
kent
parents: 172
diff changeset
68 logger.writeLog("main: all clients exited.");
154
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
69
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
70 } catch (InterruptedException e) {
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
71 e.printStackTrace();
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
72 }
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
73 System.exit(0);
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 public void Checker(){
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
77
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
78 }
fafbaaa0abd0 *** empty log message ***
kono
parents:
diff changeset
79 }