Mercurial > hg > RemoteEditor > REPSessionManager
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(); } }