/** * Creates a new {@link AddressResolver}. Override this method to create an alternative {@link AddressResolver} * implementation or override the default configuration. */ protected AddressResolver<InetSocketAddress> newAddressResolver(EventLoop eventLoop, NameResolver<InetAddress> resolver) throws Exception { return new InetSocketAddressResolver(eventLoop, resolver); } }
/** * Creates a new {@link AddressResolver}. Override this method to create an alternative {@link AddressResolver} * implementation or override the default configuration. */ protected AddressResolver<InetSocketAddress> newAddressResolver(EventLoop eventLoop, NameResolver<InetAddress> resolver) throws Exception { return new InetSocketAddressResolver(eventLoop, resolver); } }
@Override protected AddressResolver<InetSocketAddress> newResolver(EventExecutor eventExecutor) { return new InetSocketAddressResolver(eventExecutor, new InetNameResolver(eventExecutor) { @Override protected void doResolve(String hostname, Promise<InetAddress> promise) { try { promise.setSuccess(resolver.apply(hostname)); } catch (Exception e) { promise.setFailure(e); } } @Override protected void doResolveAll(String hostname, Promise<List<InetAddress>> promise) { try { promise.setSuccess(Collections.singletonList(resolver.apply(hostname))); } catch (Exception e) { promise.setFailure(e); } } }); } }
/** * Return a {@link AddressResolver} that will use this name resolver underneath. * It's cached internally, so the same instance is always returned. */ public AddressResolver<InetSocketAddress> asAddressResolver() { AddressResolver<InetSocketAddress> result = addressResolver; if (result == null) { synchronized (this) { result = addressResolver; if (result == null) { addressResolver = result = new InetSocketAddressResolver(executor(), this); } } } return result; } }
/** * Return a {@link AddressResolver} that will use this name resolver underneath. * It's cached internally, so the same instance is always returned. */ public AddressResolver<InetSocketAddress> asAddressResolver() { AddressResolver<InetSocketAddress> result = addressResolver; if (result == null) { synchronized (this) { result = addressResolver; if (result == null) { addressResolver = result = new InetSocketAddressResolver(executor(), this); } } } return result; } }
/** * Return a {@link AddressResolver} that will use this name resolver underneath. * It's cached internally, so the same instance is always returned. */ public AddressResolver<InetSocketAddress> asAddressResolver() { AddressResolver<InetSocketAddress> result = addressResolver; if (result == null) { synchronized (this) { result = addressResolver; if (result == null) { addressResolver = result = new InetSocketAddressResolver(executor(), this); } } } return result; } }
/** * Creates a new {@link AddressResolver}. Override this method to create an alternative {@link AddressResolver} * implementation or override the default configuration. */ protected AddressResolver<InetSocketAddress> newAddressResolver(EventLoop eventLoop, NameResolver<InetAddress> resolver) throws Exception { return new InetSocketAddressResolver(eventLoop, resolver); } }
/** * Creates a new {@link AddressResolver}. Override this method to create an alternative {@link AddressResolver} * implementation or override the default configuration. */ protected AddressResolver<InetSocketAddress> newAddressResolver(EventLoop eventLoop, NameResolver<InetAddress> resolver) throws Exception { return new InetSocketAddressResolver(eventLoop, resolver); } }
/** * Return a {@link AddressResolver} that will use this name resolver underneath. * It's cached internally, so the same instance is always returned. */ public AddressResolver<InetSocketAddress> asAddressResolver() { AddressResolver<InetSocketAddress> result = addressResolver; if (result == null) { synchronized (this) { result = addressResolver; if (result == null) { addressResolver = result = new InetSocketAddressResolver(executor(), this); } } } return result; } }
/** * Return a {@link AddressResolver} that will use this name resolver underneath. * It's cached internally, so the same instance is always returned. */ public AddressResolver<InetSocketAddress> asAddressResolver() { AddressResolver<InetSocketAddress> result = addressResolver; if (result == null) { synchronized (this) { result = addressResolver; if (result == null) { addressResolver = result = new InetSocketAddressResolver(executor(), this); } } } return result; } }
/** * Return a {@link AddressResolver} that will use this name resolver underneath. * It's cached internally, so the same instance is always returned. */ public AddressResolver<InetSocketAddress> asAddressResolver() { AddressResolver<InetSocketAddress> result = addressResolver; if (result == null) { synchronized (this) { result = addressResolver; if (result == null) { addressResolver = result = new InetSocketAddressResolver(executor(), this); } } } return result; } }
/** * Return a {@link AddressResolver} that will use this name resolver underneath. * It's cached internally, so the same instance is always returned. */ public AddressResolver<InetSocketAddress> asAddressResolver() { AddressResolver<InetSocketAddress> result = addressResolver; if (result == null) { synchronized (this) { result = addressResolver; if (result == null) { addressResolver = result = new InetSocketAddressResolver(executor(), this); } } } return result; } }
/** * Return a {@link AddressResolver} that will use this name resolver underneath. * It's cached internally, so the same instance is always returned. */ public AddressResolver<InetSocketAddress> asAddressResolver() { AddressResolver<InetSocketAddress> result = addressResolver; if (result == null) { synchronized (this) { result = addressResolver; if (result == null) { addressResolver = result = new InetSocketAddressResolver(executor(), this); } } } return result; } }
/** * @deprecated Override {@link #newNameResolver(EventLoop, ChannelFactory, DnsServerAddresses)}. */ @Deprecated protected AddressResolver<InetSocketAddress> newResolver( EventLoop eventLoop, ChannelFactory<? extends DatagramChannel> channelFactory, DnsServerAddresses nameServerAddresses) throws Exception { final NameResolver<InetAddress> resolver = new InflightNameResolver<InetAddress>( eventLoop, newNameResolver(eventLoop, channelFactory, nameServerAddresses), resolvesInProgress, resolveAllsInProgress); return new InetSocketAddressResolver(eventLoop, resolver); }