private void rpc_unregister(Request req) { String name = req.parameters().get(0).asString(); String spec = req.parameters().get(1).asString(); String stored = services.get(name); if (stored != null) { if (stored.equals(spec)) { Target target = targets.remove(name); target.removeWatcher(monitor); services.remove(name); target.close(); updated(); } else { req.setError(ErrorCode.METHOD_FAILED, "service '" + name + "' registered with another spec"); } } }