Class SocketAddressResolver.Async

All Implemented Interfaces:
Enclosing interface:

@ManagedObject("The asynchronous address resolver") public static class SocketAddressResolver.Async extends Object implements SocketAddressResolver

Creates InetSocketAddress 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 Details

    • 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
  • Method Details