Class SocketAddressResolver.Async

  • All Implemented Interfaces:
    SocketAddressResolver
    Enclosing interface:
    SocketAddressResolver

    @ManagedObject("The asynchronous address resolver")
    @Deprecated(since="2021-05-27")
    public static class SocketAddressResolver.Async
    extends Object
    implements SocketAddressResolver
    Deprecated.
    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("www.google.com", 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)
        Deprecated.
        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.
        Parameters:
        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