Mercurial > hg > RemoteEditor > REPSessionManager
view test/channeltest/testNetworkSimulator.java @ 208:302c4a0afab6
*** empty log message ***
author | kono |
---|---|
date | Sat, 30 Aug 2008 12:15:21 +0900 |
parents | 4c0a94836357 |
children | 44d502851c9e |
line wrap: on
line source
package test.channeltest; import java.util.ArrayList; import java.util.Random; import rep.channel.REPLogger; import rep.channel.REPServerSocketChannel; public class testNetworkSimulator { private ArrayList<testSeMa> semaList; private ArrayList<testSeMaSlave> semasList; private ArrayList<testEditor> editorList; private int NoSemaMaster; private int NoSemaSlave; private int NoEditor; static public REPLogger logger = REPLogger.singleton(); public static void main(String[] args){ REPServerSocketChannel.isSimulation = false; testNetworkSimulator testns = new testNetworkSimulator(1, 2, 2); logger.setLogLevel(5); testns.startTest(); } /** Constructor. */ public testNetworkSimulator(int sm, int ss,int e){ semaList = new ArrayList<testSeMa>(); semasList = new ArrayList<testSeMaSlave>(); editorList = new ArrayList<testEditor>(); NoSemaMaster = sm; NoSemaSlave = ss; NoEditor = e; } public void startTest(){ int port = 11000; int masterPort = port; int slavePort; String host = "localhost"; Random rand = new Random(); for (int i=0; i<NoSemaMaster; i++){ testSeMa sm = new testSeMa("SeMa"+i, host, port++); semaList.add(sm); sm.start(); } logger.writeLog("all master SessionManagers were created",1); sleep(100); slavePort = port; for (int i=0; i<NoSemaSlave; i++){ testSeMaSlave sm = new testSeMaSlave("SeMaS"+i, host, port++, // own ip address host, masterPort+rand.nextInt(NoSemaMaster)); // random server address to connect semasList.add(sm); sm.start(); } logger.writeLog("all slave SessionManagers were created "+slavePort,1); sleep(100); for (int i=0; i<NoEditor; i++){ testEditor te = new testEditor("Editor"+i,host, masterPort+rand.nextInt(NoSemaMaster+NoSemaSlave)); editorList.add(te); te.start(); } logger.writeLog("all SessionManagers and Editors ware constructed."); Checker(); try { for (testEditor te: editorList) te.join(); logger.writeLog("main: all clients exited."); for (testSeMa te: semaList) te.join(); for (testSeMaSlave te: semasList) te.join(); } catch (InterruptedException e) { e.printStackTrace(); } //System.exit(0); } private void sleep(int time) { synchronized (this) { try { wait(time); } catch (InterruptedException e) { } } } public void Checker(){ } }