annotate rep/RoutingTable.java @ 367:1bde894edd83

*** empty log message ***
author kono
date Tue, 21 Oct 2008 18:46:04 +0900
parents 034acadc0cdc
children 7d21eb209e27
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
358
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
1 package rep;
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
2
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
3 import java.util.HashMap;
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
4 import java.util.Map.Entry;
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
5
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
6 public class RoutingTable {
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
7
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
8 HashMap<Integer,Forwarder> sessionManagers =new HashMap<Integer,Forwarder>();
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
9 // we don't need this, but we keep it because it is easy.
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
10 // editor can be reached using this routing table.
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
11
367
1bde894edd83 *** empty log message ***
kono
parents: 358
diff changeset
12 public void add(Forwarder forwarder, int smid) {
358
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
13 if (smid>0) sessionManagers.put(smid, forwarder) ;
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
14 }
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
15
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
16 public void remove(Forwarder f) {
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
17 for(Entry<Integer, Forwarder> entry:sessionManagers.entrySet()) {
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
18 if (entry.getValue()==f) sessionManagers.remove(entry.getKey());
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
19 }
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
20 }
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
21
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
22 public void removeManager(int smid) {
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
23 sessionManagers.remove(smid);
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
24 }
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
25
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
26 public Forwarder toSessionManager(int eid) {
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
27 return sessionManagers.get(eid);
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
28 }
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
29
034acadc0cdc *** empty log message ***
kono
parents:
diff changeset
30 }