Mercurial > hg > RemoteEditor > REPSessionManager
view rep/RoutingTable.java @ 376:c4ffdac26132
*** empty log message ***
author | kono |
---|---|
date | Wed, 22 Oct 2008 03:19:57 +0900 |
parents | 7d21eb209e27 |
children | 4b87f89b3afd |
line wrap: on
line source
package rep; import java.util.HashMap; import java.util.Map.Entry; public class RoutingTable { HashMap<Integer,Forwarder> sessionManagers =new HashMap<Integer,Forwarder>(); 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(Forwarder forwarder, int smid) { if (smid>0) sessionManagers.put(smid, forwarder) ; } public void remove(Forwarder f) { for(Entry<Integer, Forwarder> entry:sessionManagers.entrySet()) { if (entry.getValue()==f) sessionManagers.remove(entry.getKey()); } } public void removeManager(int smid) { sessionManagers.remove(smid); } public Forwarder toSessionManager(int eid) { Forwarder next = sessionManagers.get(eid); if (next==null) return manager.smList.parent(); return next; } }