Class SocketAddressResolver.Async

  • All Implemented Interfaces:
    Enclosing interface:

    @ManagedObject("The asynchronous address resolver")
    public static class SocketAddressResolver.Async
    extends Object
    implements SocketAddressResolver
    The Eclipse Jetty and Apache Felix Http Jetty packages are no longer supported.

    Creates SocketAddress instances asynchronously in a different thread.

    InetSocketAddress(String, int) attempts to perform a DNS resolution of the host name, and this may block for several seconds. This class creates the InetSocketAddress in a separate thread and provides the result through a Promise, with the possibility to specify a timeout for the operation.

    Example usage:

      SocketAddressResolver resolver = new SocketAddressResolver.Async(executor, scheduler, timeout);
      resolver.resolve("", 80, new Promise<SocketAddress>()
          public void succeeded(SocketAddress result)
              // The address was resolved
          public void failed(Throwable failure)
              // The address resolution failed
    • Constructor Detail

      • Async

        public Async​(Executor executor,
                     Scheduler scheduler,
                     long timeout)
        Creates a new instance with the given executor (to perform DNS resolution in a separate thread), the given scheduler (to cancel the operation if it takes too long) and the given timeout, in milliseconds.
        executor - the thread pool to use to perform DNS resolution in pooled threads
        scheduler - the scheduler to schedule tasks to cancel DNS resolution if it takes too long
        timeout - the timeout, in milliseconds, for the DNS resolution to complete