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