diff options
author | Mark Spruiell <mes@zeroc.com> | 2002-01-29 06:49:10 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2002-01-29 06:49:10 +0000 |
commit | 0001dc614d21380fb22a22566a44e6d2eae88542 (patch) | |
tree | c2a50cf5bd26da7ce3844146473989ebac902515 /java/src/Ice/RoutingTable.java | |
parent | adding server (diff) | |
download | ice-0001dc614d21380fb22a22566a44e6d2eae88542.tar.bz2 ice-0001dc614d21380fb22a22566a44e6d2eae88542.tar.xz ice-0001dc614d21380fb22a22566a44e6d2eae88542.zip |
align with stable_31
Diffstat (limited to 'java/src/Ice/RoutingTable.java')
-rw-r--r-- | java/src/Ice/RoutingTable.java | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/java/src/Ice/RoutingTable.java b/java/src/Ice/RoutingTable.java new file mode 100644 index 00000000000..929ff17c79c --- /dev/null +++ b/java/src/Ice/RoutingTable.java @@ -0,0 +1,65 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +package Ice; + +public final class RoutingTable +{ + public + RoutingTable() + { + } + + // + // Returns false if the Proxy exists already. + // + public boolean + add(ObjectPrx prx) + { + if (prx == null) + { + return false; + } + + ObjectPrx proxy = prx.ice_default(); // We insert the proxy in it's default form into the routing table. + + synchronized (this) + { + if (!_table.containsKey(proxy.ice_getIdentity())) + { + _table.put(proxy.ice_getIdentity(), proxy); + return true; + } + else + { + return false; + } + } + } + + // + // Returns null if no Proxy exists for the given identity. + // + public ObjectPrx + get(Identity ident) + { + if (ident.name.length() == 0) + { + return null; + } + + synchronized (this) + { + return (ObjectPrx)_table.get(ident); + } + } + + private java.util.HashMap _table = new java.util.HashMap(); +} |