view test/sematest/TestSessionManager.java @ 237:c52e0e831d91

*** empty log message ***
author pin
date Sun, 31 Aug 2008 19:33:23 +0900
parents 2abd1dc12453
children 526ee0354067
line wrap: on
line source

package test.sematest;

import java.io.IOException;
import java.util.LinkedList;

import rep.REP;
import rep.REPCommand;
import rep.SessionManager;
import rep.channel.REPLogger;
import rep.channel.REPServerSocketChannel;


public class TestSessionManager {
	
	static public REPLogger logger = REPLogger.singleton();
	protected boolean isStart = false;

	public TestSessionManager(int sm, int ss, int e) {
	}

	private void startTest() {
		int masterPort = 8766;
		String[] strs ={String.valueOf(masterPort), String.valueOf(masterPort)};
		startSessionManager(strs);
		
		while(!isStart){
			try {
				Thread.sleep(50);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
		
		logger.writeLog("TestSessionManager.startTest()", 1);
		
		putTest();
		putTest();
		putTest();
		
	}

	private void putTest() {
		REPCommand command = new REPCommand();
		command.setCMD(REP.SMCMD_PUT);
		command.setString("PutTest.txt");
		LinkedList<REPCommand> commands = new LinkedList<REPCommand>();
		commands.add(command);
		
		Tester tester = new PutTester("PutTester", "localhost", 8766);
		tester.setCommands(commands);
		tester.start();
	}

	private void startSessionManager(final String[] strs) {
		new Thread(new Runnable(){
			public void run(){
				try {

					int port = 8766;
					
					
					if(strs.length > 0){
						port = Integer.parseInt(strs[0]);
					}

					SessionManager sm = new SessionManager(port);
					sm.openSelector();
					sm.init(port);
					logger.writeLog("TestSessionManager.startSessionManager() : start SessionManager");
					isStart = true;
					sm.mainLoop();
					
				} catch (InterruptedException e) {
					e.printStackTrace();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}).start();
	}

	public static void main(String[] args){
		REPServerSocketChannel.isSimulation = false;
		TestSessionManager test = new TestSessionManager(1, 0, 2);
		logger.setLogLevel(5);
		test.startTest();
	}

}