public LookupResponse lookup(String name) throws java.rmi.RemoteException { log.info(String.format("lookup \"%s\"", name)); mutex.lock(); ServerObject so = name_mapping.get(name); mutex.unlock(); if (so == null) return new LookupResponse(); else return new LookupResponse(so.getId(), so.getObj().getClass()); }
public ServerObject serverFor(Object o) { ServerObject server = serving.get(o); if (server == null) { server = new ServerObject(objectsId.getAndIncrement(), o); serving.put(o, server); servingById.put(server.getId(), server); } return server; }