@Override public void operationComplete(Future<Object> future) throws Exception { synchronized (resolvers) { resolvers.remove(executor); } newResolver.close(); } });
@Override public void operationComplete(Future<Object> future) throws Exception { synchronized (resolvers) { resolvers.remove(executor); } newResolver.close(); } });
@Override public void operationComplete(Future<Object> future) throws Exception { synchronized (resolvers) { resolvers.remove(executor); } newResolver.close(); } });
/** * Closes all {@link NameResolver}s created by this group. */ @Override @SuppressWarnings({ "unchecked", "SuspiciousToArrayCall" }) public void close() { final AddressResolver<T>[] rArray; synchronized (resolvers) { rArray = (AddressResolver<T>[]) resolvers.values().toArray(new AddressResolver[0]); resolvers.clear(); } for (AddressResolver<T> r: rArray) { try { r.close(); } catch (Throwable t) { logger.warn("Failed to close a resolver:", t); } } } }
/** * Closes all {@link NameResolver}s created by this group. */ @Override @SuppressWarnings({ "unchecked", "SuspiciousToArrayCall" }) public void close() { final AddressResolver<T>[] rArray; synchronized (resolvers) { rArray = (AddressResolver<T>[]) resolvers.values().toArray(new AddressResolver[0]); resolvers.clear(); } for (AddressResolver<T> r: rArray) { try { r.close(); } catch (Throwable t) { logger.warn("Failed to close a resolver:", t); } } } }
/** * Closes all {@link NameResolver}s created by this group. */ @Override @SuppressWarnings({ "unchecked", "SuspiciousToArrayCall" }) public void close() { final AddressResolver<T>[] rArray; synchronized (resolvers) { rArray = (AddressResolver<T>[]) resolvers.values().toArray(new AddressResolver[0]); resolvers.clear(); } for (AddressResolver<T> r: rArray) { try { r.close(); } catch (Throwable t) { logger.warn("Failed to close a resolver:", t); } } } }
@Override public void close(Handler<Void> doneHandler) { Context context = vertx.getOrCreateContext(); ResolverRegistration[] registrations = this.resolvers.toArray(new ResolverRegistration[this.resolvers.size()]); if (registrations.length == 0) { context.runOnContext(doneHandler); return; } AtomicInteger count = new AtomicInteger(registrations.length); for (ResolverRegistration registration : registrations) { Runnable task = () -> { registration.resolver.close(); if (count.decrementAndGet() == 0) { context.runOnContext(doneHandler); } }; if (registration.executor.inEventLoop()) { task.run(); } else { registration.executor.execute(task); } } } }
@Override public void close(Handler<Void> doneHandler) { Context context = vertx.getOrCreateContext(); ResolverRegistration[] registrations = this.resolvers.toArray(new ResolverRegistration[this.resolvers.size()]); if (registrations.length == 0) { context.runOnContext(doneHandler); return; } AtomicInteger count = new AtomicInteger(registrations.length); for (ResolverRegistration registration : registrations) { Runnable task = () -> { registration.resolver.close(); if (count.decrementAndGet() == 0) { context.runOnContext(doneHandler); } }; if (registration.executor.inEventLoop()) { task.run(); } else { registration.executor.execute(task); } } } }
@Override public void operationComplete(Future<Object> future) throws Exception { synchronized (resolvers) { resolvers.remove(executor); } newResolver.close(); } });
@Override public void operationComplete(Future<Object> future) throws Exception { synchronized (resolvers) { resolvers.remove(executor); } newResolver.close(); } });
@Override public void operationComplete(Future<Object> future) throws Exception { synchronized (resolvers) { resolvers.remove(executor); } newResolver.close(); } });
@Override public void operationComplete(Future<Object> future) throws Exception { synchronized (resolvers) { resolvers.remove(executor); } newResolver.close(); } });
@Override public void operationComplete(Future<Object> future) throws Exception { synchronized (resolvers) { resolvers.remove(executor); } newResolver.close(); } });
/** * Closes all {@link NameResolver}s created by this group. */ @Override @SuppressWarnings({ "unchecked", "SuspiciousToArrayCall" }) public void close() { final AddressResolver<T>[] rArray; synchronized (resolvers) { rArray = (AddressResolver<T>[]) resolvers.values().toArray(new AddressResolver[0]); resolvers.clear(); } for (AddressResolver<T> r: rArray) { try { r.close(); } catch (Throwable t) { logger.warn("Failed to close a resolver:", t); } } } }
/** * Closes all {@link NameResolver}s created by this group. */ @Override @SuppressWarnings({ "unchecked", "SuspiciousToArrayCall" }) public void close() { final AddressResolver<T>[] rArray; synchronized (resolvers) { rArray = (AddressResolver<T>[]) resolvers.values().toArray(new AddressResolver[0]); resolvers.clear(); } for (AddressResolver<T> r: rArray) { try { r.close(); } catch (Throwable t) { logger.warn("Failed to close a resolver:", t); } } } }
/** * Closes all {@link NameResolver}s created by this group. */ @Override @SuppressWarnings({ "unchecked", "SuspiciousToArrayCall" }) public void close() { final AddressResolver<T>[] rArray; synchronized (resolvers) { rArray = (AddressResolver<T>[]) resolvers.values().toArray(new AddressResolver[resolvers.size()]); resolvers.clear(); } for (AddressResolver<T> r: rArray) { try { r.close(); } catch (Throwable t) { logger.warn("Failed to close a resolver:", t); } } } }
/** * Closes all {@link NameResolver}s created by this group. */ @Override @SuppressWarnings({ "unchecked", "SuspiciousToArrayCall" }) public void close() { final AddressResolver<T>[] rArray; synchronized (resolvers) { rArray = (AddressResolver<T>[]) resolvers.values().toArray(new AddressResolver[resolvers.size()]); resolvers.clear(); } for (AddressResolver<T> r: rArray) { try { r.close(); } catch (Throwable t) { logger.warn("Failed to close a resolver:", t); } } } }
/** * Closes all {@link NameResolver}s created by this group. */ @Override @SuppressWarnings({ "unchecked", "SuspiciousToArrayCall" }) public void close() { final AddressResolver<T>[] rArray; synchronized (resolvers) { rArray = (AddressResolver<T>[]) resolvers.values().toArray(new AddressResolver[resolvers.size()]); resolvers.clear(); } for (AddressResolver<T> r: rArray) { try { r.close(); } catch (Throwable t) { logger.warn("Failed to close a resolver:", t); } } } }