@Override protected EventLoop executor() { return (EventLoop) super.executor(); }
@Override public Future<List<InetAddress>> resolveAll(String inetHost, Promise<List<InetAddress>> promise) { if (inetHost == null || inetHost.isEmpty()) { // If an empty hostname is used we should use "localhost", just like InetAddress.getByName(...) does. return promise.setSuccess(Collections.singletonList(loopbackAddress())); } return super.resolveAll(inetHost, promise); }
@Override public Future<InetAddress> resolve(String inetHost, Promise<InetAddress> promise) { if (inetHost == null || inetHost.isEmpty()) { // If an empty hostname is used we should use "localhost", just like InetAddress.getByName(...) does. return promise.setSuccess(loopbackAddress()); } return super.resolve(inetHost, promise); }
@Override protected EventLoop executor() { return (EventLoop) super.executor(); }
/** * 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; } }
@Override protected EventLoop executor() { return (EventLoop) super.executor(); }
@Override protected EventLoop executor() { return (EventLoop) super.executor(); }
@Override protected EventLoop executor() { return (EventLoop) super.executor(); }
/** * 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; } }