io.vertx.core.dns

## Interface DnsClient

-     public interface DnsClient

  Provides a way to asynchronously lookup information from DNS servers.

  Please consult the documentation for more information on DNS clients.

  Author:
    Norman Maurer

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `DnsClient` | `lookup(String name, Handler<AsyncResult<String>> handler)` Try to lookup the A (ipv4) or AAAA (ipv6) record for the given name.
    `DnsClient` | `lookup4(String name, Handler<AsyncResult<String>> handler)` Try to lookup the A (ipv4) record for the given name.
    `DnsClient` | `lookup6(String name, Handler<AsyncResult<String>> handler)` Try to lookup the AAAA (ipv6) record for the given name.
    `DnsClient` | `resolveA(String name, Handler<AsyncResult<List<String>>> handler)` Try to resolve all A (ipv4) records for the given name.
    `DnsClient` | `resolveAAAA(String name, Handler<AsyncResult<List<String>>> handler)` Try to resolve all AAAA (ipv6) records for the given name.
    `DnsClient` | `resolveCNAME(String name, Handler<AsyncResult<List<String>>> handler)` Try to resolve the CNAME record for the given name.
    `DnsClient` | `resolveMX(String name, Handler<AsyncResult<List<MxRecord>>> handler)` Try to resolve the MX records for the given name.
    `DnsClient` | `resolveNS(String name, Handler<AsyncResult<List<String>>> handler)` Try to resolve the NS records for the given name.
    `DnsClient` | `resolvePTR(String name, Handler<AsyncResult<String>> handler)` Try to resolve the PTR record for the given name.
    `DnsClient` | `resolveSRV(String name, Handler<AsyncResult<List<SrvRecord>>> handler)` Try to resolve the SRV records for the given name.
    `DnsClient` | `resolveTXT(String name, Handler<AsyncResult<List<String>>> handler)` Try to resolve the TXT records for the given name.
    `DnsClient` | `reverseLookup(String ipaddress, Handler<AsyncResult<String>> handler)` Try to do a reverse lookup of an IP address.

- - ### Method Detail

    - #### lookup

          DnsClient lookup(String name,
                           Handler<AsyncResult<String>> handler)

      Try to lookup the A (ipv4) or AAAA (ipv6) record for the given name. The first found will be used.
      Parameters:
        `name` - the name to resolve
        `handler` - the `Handler` to notify with the `AsyncResult`. The handler will get notified with the resolved address if a record was found. If non was found it will get notifed with `null`. If an error accours it will get failed.
      Returns:
        a reference to this, so the API can be used fluently

    - #### lookup4

          DnsClient lookup4(String name,
                            Handler<AsyncResult<String>> handler)

      Try to lookup the A (ipv4) record for the given name. The first found will be used.
      Parameters:
        `name` - the name to resolve
        `handler` - the `Handler` to notify with the `AsyncResult`. The handler will get notified with the resolved `Inet4Address` if a record was found. If non was found it will get notifed with `null`. If an error accours it will get failed.
      Returns:
        a reference to this, so the API can be used fluently

    - #### lookup6

          DnsClient lookup6(String name,
                            Handler<AsyncResult<String>> handler)

      Try to lookup the AAAA (ipv6) record for the given name. The first found will be used.
      Parameters:
        `name` - the name to resolve
        `handler` - the `Handler` to notify with the `AsyncResult`. The handler will get notified with the resolved `Inet6Address` if a record was found. If non was found it will get notifed with `null`. If an error accours it will get failed.
      Returns:
        a reference to this, so the API can be used fluently

    - #### resolveA

          DnsClient resolveA(String name,
                             Handler<AsyncResult<List<String>>> handler)

      Try to resolve all A (ipv4) records for the given name.
      Parameters:
        `name` - the name to resolve
        `handler` - the `Handler` to notify with the `AsyncResult`. The handler will get notified with a `List` that contains all the resolved `Inet4Address`es. If none was found an empty `List` will be used. If an error accours it will get failed.
      Returns:
        a reference to this, so the API can be used fluently

    - #### resolveAAAA

          DnsClient resolveAAAA(String name,
                                Handler<AsyncResult<List<String>>> handler)

      Try to resolve all AAAA (ipv6) records for the given name.
      Parameters:
        `name` - the name to resolve
        `handler` - the `Handler` to notify with the `AsyncResult`. The handler will get notified with a `List` that contains all the resolved `Inet6Address`es. If none was found an empty `List` will be used. If an error accours it will get failed.
      Returns:
        a reference to this, so the API can be used fluently

    - #### resolveCNAME

          DnsClient resolveCNAME(String name,
                                 Handler<AsyncResult<List<String>>> handler)

      Try to resolve the CNAME record for the given name.
      Parameters:
        `name` - the name to resolve the CNAME for
        `handler` - the `Handler` to notify with the `AsyncResult`. The handler will get notified with the resolved `String` if a record was found. If none was found it will get notified with `null`. If an error accours it will get failed.
      Returns:
        a reference to this, so the API can be used fluently.

    - #### resolveMX

          DnsClient resolveMX(String name,
                              Handler<AsyncResult<List<MxRecord>>> handler)

      Try to resolve the MX records for the given name.
      Parameters:
        `name` - the name for which the MX records should be resolved
        `handler` - the `Handler` to notify with the `AsyncResult`. The handler will get notified with a List that contains all resolved `MxRecord`s, sorted by their `MxRecord.priority()`. If non was found it will get notified with an empty `List`. If an error accours it will get failed.
      Returns:
        a reference to this, so the API can be used fluently.

    - #### resolveTXT

          DnsClient resolveTXT(String name,
                               Handler<AsyncResult<List<String>>> handler)

      Try to resolve the TXT records for the given name.
      Parameters:
        `name` - the name for which the TXT records should be resolved
        `handler` - the `Handler` to notify with the `AsyncResult`. The handler will get notified with a List that contains all resolved `String`s. If none was found it will get notified with an empty `List`. If an error accours it will get failed.
      Returns:
        a reference to this, so the API can be used fluently.

    - #### resolvePTR

          DnsClient resolvePTR(String name,
                               Handler<AsyncResult<String>> handler)

      Try to resolve the PTR record for the given name.
      Parameters:
        `name` - the name to resolve the PTR for
        `handler` - the `Handler` to notify with the `AsyncResult`. The handler will get notified with the resolved `String` if a record was found. If none was found it will get notified with `null`. If an error accours it will get failed.
      Returns:
        a reference to this, so the API can be used fluently.

    - #### resolveNS

          DnsClient resolveNS(String name,
                              Handler<AsyncResult<List<String>>> handler)

      Try to resolve the NS records for the given name.
      Parameters:
        `name` - the name for which the NS records should be resolved
        `handler` - the `Handler` to notify with the `AsyncResult`. The handler will get notified with a List that contains all resolved `String`s. If none was found it will get notified with an empty `List`. If an error accours it will get failed.
      Returns:
        a reference to this, so the API can be used fluently.

    - #### resolveSRV

          DnsClient resolveSRV(String name,
                               Handler<AsyncResult<List<SrvRecord>>> handler)

      Try to resolve the SRV records for the given name.
      Parameters:
        `name` - the name for which the SRV records should be resolved
        `handler` - the `Handler` to notify with the `AsyncResult`. The handler will get notified with a List that contains all resolved `SrvRecord`s. If none was found it will get notified with an empty `List`. If an error accours it will get failed.
      Returns:
        a reference to this, so the API can be used fluently.

    - #### reverseLookup

          DnsClient reverseLookup(String ipaddress,
                                  Handler<AsyncResult<String>> handler)

      Try to do a reverse lookup of an IP address. This is basically the same as doing trying to resolve a PTR record but allows you to just pass in the IP address and not a valid ptr query string.
      Parameters:
        `ipaddress` - the IP address to resolve the PTR for
        `handler` - the `Handler` to notify with the `AsyncResult`. The handler will get notified with the resolved `String` if a record was found. If none was found it will get notified with `null`. If an error accours it will get failed.
      Returns:
        a reference to this, so the API can be used fluently.

Copyright © 2015. All Rights Reserved.