154
|
1 package test.channeltest;
|
|
2
|
|
3 import java.util.ArrayList;
|
|
4 import java.util.Random;
|
|
5 import rep.channel.REPLogger;
|
161
|
6 import rep.channel.REPServerSocketChannel;
|
154
|
7
|
|
8 public class testNetworkSimulator {
|
|
9 private ArrayList<testSeMa> semaList;
|
|
10 private ArrayList<testSeMaSlave> semasList;
|
|
11 private ArrayList<testEditor> editorList;
|
|
12 private int NoSemaMaster;
|
|
13 private int NoSemaSlave;
|
|
14 private int NoEditor;
|
174
|
15 static public REPLogger logger = REPLogger.singleton();
|
154
|
16
|
|
17 public static void main(String[] args){
|
174
|
18 REPServerSocketChannel.isSimulation = true;
|
|
19 testNetworkSimulator testns = new testNetworkSimulator(1, 0, 2);
|
175
|
20 logger.setLogLevel(5);
|
154
|
21
|
|
22 testns.startTest();
|
|
23 }
|
|
24
|
|
25
|
|
26 /** Constructor. */
|
|
27 public testNetworkSimulator(int sm, int ss,int e){
|
|
28 semaList = new ArrayList<testSeMa>();
|
|
29 semasList = new ArrayList<testSeMaSlave>();
|
|
30 editorList = new ArrayList<testEditor>();
|
|
31 NoSemaMaster = sm;
|
|
32 NoSemaSlave = ss;
|
|
33 NoEditor = e;
|
|
34 }
|
|
35
|
|
36 public void startTest(){
|
161
|
37 int port = 11000;
|
|
38 int masterPort = port;
|
|
39 int slavePort;
|
|
40 String host = "localhost";
|
154
|
41 Random rand = new Random();
|
|
42 for (int i=0; i<NoSemaMaster; i++){
|
161
|
43 testSeMa sm = new testSeMa("SeMa"+i, host, port++);
|
154
|
44 semaList.add(sm);
|
|
45 sm.start();
|
|
46 }
|
174
|
47 logger.writeLog("all master SessionManagers were created",1);
|
161
|
48 slavePort = port;
|
154
|
49 for (int i=0; i<NoSemaSlave; i++){
|
161
|
50 testSeMaSlave sm = new testSeMaSlave("SeMaS"+i,
|
|
51 host, port++, // own ip address
|
|
52 host, masterPort+rand.nextInt(NoSemaMaster)); // random server address to connect
|
154
|
53 semasList.add(sm);
|
|
54 sm.start();
|
|
55 }
|
174
|
56 logger.writeLog("all slave SessionManagers were created",1);
|
154
|
57 for (int i=0; i<NoEditor; i++){
|
161
|
58 testEditor te = new testEditor("Editor"+i,host, masterPort+rand.nextInt(NoSemaMaster+NoSemaSlave));
|
154
|
59 editorList.add(te);
|
|
60 te.start();
|
|
61 }
|
174
|
62 logger.writeLog("all SessionManagers and Editors ware constructed.");
|
154
|
63 Checker();
|
|
64
|
|
65 try {
|
|
66 for (testEditor te: editorList)
|
|
67 te.join();
|
174
|
68 logger.writeLog("main: all clients exited.");
|
154
|
69
|
|
70 } catch (InterruptedException e) {
|
|
71 e.printStackTrace();
|
|
72 }
|
|
73 System.exit(0);
|
|
74 }
|
|
75
|
|
76 public void Checker(){
|
|
77
|
|
78 }
|
|
79 }
|