view test/channeltest/testNetworkSimulator.java @ 154:fafbaaa0abd0

*** empty log message ***
author kono
date Thu, 28 Aug 2008 15:33:02 +0900
parents
children f0d80a64aba0
line wrap: on
line source

package test.channeltest;

import java.util.ArrayList;
import java.util.Random;
import pathfinder.mergetest.channels.NetworkSimulator;
import rep.channel.REPLogger;

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 ns = new REPLogger();

	public static void main(String[] args){
		testNetworkSimulator testns = new testNetworkSimulator(3, 10, 50);
		
		testns.startTest();
	}


	/** Constructor. */
	public testNetworkSimulator(int sm, int ss,int e){
		//ns = new NetworkSimulator<String>();
		ns = NetworkSimulator.singleton();
		semaList = new ArrayList<testSeMa>();
		semasList = new ArrayList<testSeMaSlave>();
		editorList = new ArrayList<testEditor>();
		NoSemaMaster = sm;
		NoSemaSlave = ss;
		NoEditor = e;
	}

	public void startTest(){
		Random rand = new Random();
		for (int i=0; i<NoSemaMaster; i++){
			testSeMa sm = new testSeMa(ns, "SeMa"+i, i);
			semaList.add(sm);
			sm.start();
		}
		for (int i=0; i<NoSemaSlave; i++){
			testSeMaSlave sm = new testSeMaSlave(ns, "SeMaS"+i, i+NoSemaMaster, rand.nextInt(NoSemaMaster));
			semasList.add(sm);
			sm.start();
		}
		for (int i=0; i<NoEditor; i++){
			testEditor te = new testEditor(ns, "Editor"+i, rand.nextInt(NoSemaMaster+NoSemaSlave)); 
			editorList.add(te);
			te.start();
		}
		
		Checker();
		
		try {
			for (testEditor te: editorList)
				te.join();
			ns.writeLog("main: all clients exited.", 1);

		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		System.exit(0);
	}
	
	public void Checker(){
		
	}
}