Mercurial > hg > RemoteEditor > REPSessionManager
view rep/handler/REPHandlerInMerge.java @ 281:c3969dd625b2
GUIless test routine.
author | kono |
---|---|
date | Sat, 27 Sep 2008 22:55:13 +0900 |
parents | ad487e63e3c8 |
children | c5be84d53c7f |
line wrap: on
line source
package rep.handler; import java.io.IOException; import rep.Editor; import rep.REPCommand; import rep.SessionManager; import rep.channel.REPSelectionKey; import rep.channel.REPSocketChannel; public class REPHandlerInMerge implements REPHandler { private SessionManager manager; private int sid; public REPHandlerInMerge(SessionManager manager) { this.manager = manager; } public REPHandlerInMerge(int sid, SessionManager manager2) { this.manager = manager2; this.sid = sid; } @SuppressWarnings("unchecked") public void handle(REPSelectionKey<REPCommand> key) throws IOException { //マージ中のエディタの前のエディタのコマンドをWaitingListに追加する REPSocketChannel<REPCommand> channel = (REPSocketChannel<REPCommand>) key.channel(); REPCommand command = channel.read(); System.out.println("REPHandlerImpl.handle() : command = " + command); if(command.sid == sid){ Editor editor = manager.getEditor(channel); manager.addWaitingCommand(new PacketSet(channel, editor, command)); }else{ manager.manage(channel, command); } } public void cancel(REPSocketChannel<REPCommand> socketChannel) { manager.remove(socketChannel); } }