Mercurial > hg > RemoteEditor > REPSessionManager
diff rep/Session.java @ 372:e16b6326fdac
*** empty log message ***
author | kono |
---|---|
date | Wed, 22 Oct 2008 00:42:47 +0900 |
parents | f0bd158dace6 |
children | ab4405cd3351 |
line wrap: on
line diff
--- a/rep/Session.java Tue Oct 21 22:50:57 2008 +0900 +++ b/rep/Session.java Wed Oct 22 00:42:47 2008 +0900 @@ -39,6 +39,9 @@ } } + /* + * どこにlocal editorを入れても良いのだが、まとめた方が良いか? + */ public void addForwarder(Forwarder forwarder) { // add a forwarder and connect this to the session forwarder.setSID(sessionID); @@ -125,9 +128,6 @@ } - Forwarder getNextEditor(Forwarder editor) { - return editor.getNextForwarder(); - } public void closeSession() { Forwarder first = firstForwarder; @@ -136,10 +136,10 @@ first.send(command); } - - - public Forwarder getFirstForwarder() { - return firstForwarder; + public Forwarder getFirstForwarder(REPSocketChannel<REPCommand> channel) { + Forwarder f = firstForwarder; + while(f.next!=null && f.channel!=channel) f = f.next; + return f.next; } @@ -179,6 +179,7 @@ public void setFirstForwarder(Forwarder f) { f.setSID(sessionID); put(f.eid,f); + f.setNext(f); firstForwarder = last = f; }