changeset 192:6fb97c7a0b42

*** empty log message ***
author pin
date Fri, 29 Aug 2008 19:50:15 +0900
parents dbf59f82273e
children 311847db7429
files rep/RPanel.java rep/SessionManager.java test/sematest/TestSessionManager.java
diffstat 3 files changed, 41 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/rep/RPanel.java	Fri Aug 29 18:52:36 2008 +0900
+++ b/rep/RPanel.java	Fri Aug 29 19:50:15 2008 +0900
@@ -89,15 +89,14 @@
 
 		button.addActionListener(this);
 		buttonSelect.addActionListener(this);
-		
-		sessionList = manager.getSessionList();
-		editorList = manager.getEditorList();
 
 	}
 	
 	public RPanel(SessionManager manager) {
 		this();
 		this.manager = manager;
+		sessionList = manager.getSessionList();
+		editorList = manager.getEditorList();
 	}
 
 	public void actionPerformed(ActionEvent event) {
--- a/rep/SessionManager.java	Fri Aug 29 18:52:36 2008 +0900
+++ b/rep/SessionManager.java	Fri Aug 29 19:50:15 2008 +0900
@@ -10,6 +10,7 @@
 import java.util.LinkedList;
 import java.util.List;
 import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
 
 import rep.channel.REPServerSocketChannel;
 import rep.channel.REPSocketChannel;
@@ -69,9 +70,9 @@
 		REPServerSocketChannel<REPCommand> ssc = REPServerSocketChannel.<REPCommand>open(new REPCommandPacker());
 		ssc.configureBlocking(false);	//reuse address 必須
 		ssc.socket().setReuseAddress(true);
-		ssc.socket().bind(new InetSocketAddress(port));
-		//ssc.register(selector, SelectionKey.OP_ACCEPT);
-		registerChannel(selector, ssc, SelectionKey.OP_ACCEPT);
+		ssc.socket().bind(new InetSocketAddress("localhost", port));
+		ssc.register(selector, SelectionKey.OP_ACCEPT, new REPHandlerImpl(-1, this));
+		//registerChannel(selector, ssc, SelectionKey.OP_ACCEPT);
 
 		
 		//sessionlist = new SessionList();
@@ -81,6 +82,7 @@
 		editorList = new LinkedList<Editor>();
 		packetSetList = new LinkedList<PacketSet>();
 		
+		waitingQueue = new LinkedBlockingQueue<SessionManagerEvent>();
 		// main loop
 		//mainLoop();
 	}
--- a/test/sematest/TestSessionManager.java	Fri Aug 29 18:52:36 2008 +0900
+++ b/test/sematest/TestSessionManager.java	Fri Aug 29 19:50:15 2008 +0900
@@ -1,34 +1,60 @@
 package test.sematest;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
 import rep.SessionManager;
+import rep.channel.REPLogger;
 import rep.channel.REPServerSocketChannel;
 import test.channeltest.testEditor;
 
 public class TestSessionManager {
 	
-	private List<SessionManager> semaList;
-	private List<SessionManager> semaSList;
-	private List<testEditor> editorList;
+	private ArrayList<testEditor> editorList;
+	private int numberEditor;
+	static public REPLogger logger = REPLogger.singleton();
 
-	public TestSessionManager(int i, int j, int k) {
-		// TODO Auto-generated constructor stub
-		semaList = new ArrayList<SessionManager>();
-		semaSList = new ArrayList<SessionManager>();
+	public TestSessionManager(int sm, int ss, int e) {
 		editorList = new ArrayList<testEditor>();
+		numberEditor = e;
 	}
 
 	public static void main(String[] args){
 		REPServerSocketChannel.isSimulation = true;
 		TestSessionManager test = new TestSessionManager(1, 0, 2);
+		logger.setLogLevel(5);
 		test.startTest();
 	}
 
 	private void startTest() {
-		// TODO Auto-generated method stub
+		String host = "localhost";
+		int masterPort = 11000;
+		String[] strs ={String.valueOf(masterPort), String.valueOf(masterPort)};
+		
+		startSessionManager(strs);
+		
+		for (int i=0; i<numberEditor; i++){
+			logger.writeLog("create Editors", 1);
+			testEditor te = new testEditor("Editor"+i,host, masterPort); 
+			editorList.add(te);
+			te.start();
+		}
+		
+	}
 
+	private void startSessionManager(final String[] strs) {
+		new Thread(new Runnable(){
+			public void run(){
+				try {
+					SessionManager.main(strs);
+				} catch (InterruptedException e) {
+					e.printStackTrace();
+				} catch (IOException e) {
+					e.printStackTrace();
+				}
+			}
+		}).start();
 	}
 
 }