Mercurial > hg > RemoteEditor > REPSessionManager
view rep/RoutingTable.java @ 382:4b87f89b3afd
REP Session Manager (Java version)
new structure
author | one@firefly.cr.ie.u-ryukyu.ac.jp |
---|---|
date | Mon, 10 Nov 2008 22:07:45 +0900 |
parents | 7d21eb209e27 |
children | 18cacd0b3ccf |
line wrap: on
line source
package rep; import java.util.HashMap; import java.util.Map.Entry; import rep.handler.REPNode; public class RoutingTable { HashMap<Integer,REPNode> sessionManagers =new HashMap<Integer,REPNode>(); SessionManager manager; // we don't need this, but we keep it because it is easy. // editor can be reached using this routing table. public RoutingTable(SessionManager sessionManager) { manager = sessionManager; } public void add(REPNode forwarder, int smid) { if (smid>0) sessionManagers.put(smid, forwarder) ; } public void remove(REPNode f) { for(Entry<Integer, REPNode> entry:sessionManagers.entrySet()) { if (entry.getValue()==f) sessionManagers.remove(entry.getKey()); } } public void removeManager(int smid) { sessionManagers.remove(smid); } public REPNode toSessionManager(int eid) { REPNode next = sessionManagers.get(eid); if (next==null) return manager.smList.parent(); return next; } }