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){
|
172
|
18 REPServerSocketChannel.isSimulation = false;
|
|
19 //testNetworkSimulator testns = new testNetworkSimulator(3, 10, 50);
|
|
20 testNetworkSimulator testns = new testNetworkSimulator(1, 1, 1);
|
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 }
|
161
|
47 slavePort = port;
|
154
|
48 for (int i=0; i<NoSemaSlave; i++){
|
161
|
49 testSeMaSlave sm = new testSeMaSlave("SeMaS"+i,
|
|
50 host, port++, // own ip address
|
|
51 host, masterPort+rand.nextInt(NoSemaMaster)); // random server address to connect
|
154
|
52 semasList.add(sm);
|
|
53 sm.start();
|
|
54 }
|
|
55 for (int i=0; i<NoEditor; i++){
|
161
|
56 testEditor te = new testEditor("Editor"+i,host, masterPort+rand.nextInt(NoSemaMaster+NoSemaSlave));
|
154
|
57 editorList.add(te);
|
|
58 te.start();
|
|
59 }
|
|
60
|
|
61 Checker();
|
|
62
|
|
63 try {
|
|
64 for (testEditor te: editorList)
|
|
65 te.join();
|
|
66 ns.writeLog("main: all clients exited.", 1);
|
|
67
|
|
68 } catch (InterruptedException e) {
|
|
69 e.printStackTrace();
|
|
70 }
|
|
71 System.exit(0);
|
|
72 }
|
|
73
|
|
74 public void Checker(){
|
|
75
|
|
76 }
|
|
77 }
|