Package io.vertx.reactivex.core.dns

## Class DnsClient

- java.lang.Object
- - io.vertx.reactivex.core.dns.DnsClient

-     public class DnsClient
      extends Object

  Provides a way to asynchronously lookup information from DNS servers.

  Please consult the documentation for more information on DNS clients.

  The client is thread safe and can be used from any thread.

  NOTE: This class has been automatically generated from the `original` non RX-ified interface using Vert.x codegen.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static io.vertx.lang.rx.TypeArg<DnsClient>` | `__TYPE_ARG` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DnsClient​(DnsClient delegate)` |
    `DnsClient​(Object delegate)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Future<Void>` | `close()` | Close the client.
    `boolean` | `equals​(Object o)` |
    `DnsClient` | `getDelegate()` |
    `int` | `hashCode()` |
    `Future<String>` | `lookup​(String name)` | Try to lookup the A (ipv4) or AAAA (ipv6) record for the given name.
    `Future<String>` | `lookup4​(String name)` | Try to lookup the A (ipv4) record for the given name.
    `Future<String>` | `lookup6​(String name)` | Try to lookup the AAAA (ipv6) record for the given name.
    `static DnsClient` | `newInstance​(DnsClient arg)` |
    `Future<List<String>>` | `resolveA​(String name)` | Try to resolve all A (ipv4) records for the given name.
    `Future<List<String>>` | `resolveAAAA​(String name)` | Try to resolve all AAAA (ipv6) records for the given name.
    `Future<List<String>>` | `resolveCNAME​(String name)` | Try to resolve the CNAME record for the given name.
    `Future<List<MxRecord>>` | `resolveMX​(String name)` | Try to resolve the MX records for the given name.
    `Future<List<String>>` | `resolveNS​(String name)` | Try to resolve the NS records for the given name.
    `Future<String>` | `resolvePTR​(String name)` | Try to resolve the PTR record for the given name.
    `Future<List<SrvRecord>>` | `resolveSRV​(String name)` | Try to resolve the SRV records for the given name.
    `Future<List<String>>` | `resolveTXT​(String name)` | Try to resolve the TXT records for the given name.
    `Future<String>` | `reverseLookup​(String ipaddress)` | Try to do a reverse lookup of an IP address.
    `Completable` | `rxClose()` | Close the client.
    `Maybe<String>` | `rxLookup​(String name)` | Try to lookup the A (ipv4) or AAAA (ipv6) record for the given name.
    `Maybe<String>` | `rxLookup4​(String name)` | Try to lookup the A (ipv4) record for the given name.
    `Maybe<String>` | `rxLookup6​(String name)` | Try to lookup the AAAA (ipv6) record for the given name.
    `Single<List<String>>` | `rxResolveA​(String name)` | Try to resolve all A (ipv4) records for the given name.
    `Single<List<String>>` | `rxResolveAAAA​(String name)` | Try to resolve all AAAA (ipv6) records for the given name.
    `Single<List<String>>` | `rxResolveCNAME​(String name)` | Try to resolve the CNAME record for the given name.
    `Single<List<MxRecord>>` | `rxResolveMX​(String name)` | Try to resolve the MX records for the given name.
    `Single<List<String>>` | `rxResolveNS​(String name)` | Try to resolve the NS records for the given name.
    `Maybe<String>` | `rxResolvePTR​(String name)` | Try to resolve the PTR record for the given name.
    `Single<List<SrvRecord>>` | `rxResolveSRV​(String name)` | Try to resolve the SRV records for the given name.
    `Single<List<String>>` | `rxResolveTXT​(String name)` | Try to resolve the TXT records for the given name.
    `Maybe<String>` | `rxReverseLookup​(String ipaddress)` | Try to do a reverse lookup of an IP address.
    `String` | `toString()` |

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### __TYPE_ARG

          public static final io.vertx.lang.rx.TypeArg<DnsClient> __TYPE_ARG

  - ### Constructor Detail

    - #### DnsClient

          public DnsClient​(DnsClient delegate)

    - #### DnsClient

          public DnsClient​(Object delegate)

  - ### Method Detail

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### equals

          public boolean equals​(Object o)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### getDelegate

          public DnsClient getDelegate()

    - #### lookup

          public Future<String> lookup​(String name)

      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
      Returns:
        a future notified with the resolved address if a record was found. If none was found it will get notified with `null`. If an error occurs it will get failed.

    - #### rxLookup

          public Maybe<String> rxLookup​(String name)

      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
      Returns:
        a future notified with the resolved address if a record was found. If none was found it will get notified with `null`. If an error occurs it will get failed.

    - #### lookup4

          public Future<String> lookup4​(String name)

      Try to lookup the A (ipv4) record for the given name. The first found will be used.
      Parameters:
        `name` - the name to resolve
      Returns:
        a future notified with the resolved `Inet4Address` if a record was found. If none was found it will get notified with `null`. If an error occurs it will get failed.

    - #### rxLookup4

          public Maybe<String> rxLookup4​(String name)

      Try to lookup the A (ipv4) record for the given name. The first found will be used.
      Parameters:
        `name` - the name to resolve
      Returns:
        a future notified with the resolved `Inet4Address` if a record was found. If none was found it will get notified with `null`. If an error occurs it will get failed.

    - #### lookup6

          public Future<String> lookup6​(String name)

      Try to lookup the AAAA (ipv6) record for the given name. The first found will be used.
      Parameters:
        `name` - the name to resolve
      Returns:
        a future notified with the resolved `Inet6Address` if a record was found. If none was found it will get notified with `null`. If an error occurs it will get failed.

    - #### rxLookup6

          public Maybe<String> rxLookup6​(String name)

      Try to lookup the AAAA (ipv6) record for the given name. The first found will be used.
      Parameters:
        `name` - the name to resolve
      Returns:
        a future notified with the resolved `Inet6Address` if a record was found. If none was found it will get notified with `null`. If an error occurs it will get failed.

    - #### resolveA

          public Future<List<String>> resolveA​(String name)

      Try to resolve all A (ipv4) records for the given name.
      Parameters:
        `name` - the name to resolve
      Returns:
        a future notified with a `List` that contains all the resolved `Inet4Address`es. If none was found an empty `List` will be used. If an error occurs it will get failed.

    - #### rxResolveA

          public Single<List<String>> rxResolveA​(String name)

      Try to resolve all A (ipv4) records for the given name.
      Parameters:
        `name` - the name to resolve
      Returns:
        a future notified with a `List` that contains all the resolved `Inet4Address`es. If none was found an empty `List` will be used. If an error occurs it will get failed.

    - #### resolveAAAA

          public Future<List<String>> resolveAAAA​(String name)

      Try to resolve all AAAA (ipv6) records for the given name.
      Parameters:
        `name` - the name to resolve
      Returns:
        a future notified with a `List` that contains all the resolved `Inet6Address`es. If none was found an empty `List` will be used. If an error occurs it will get failed.

    - #### rxResolveAAAA

          public Single<List<String>> rxResolveAAAA​(String name)

      Try to resolve all AAAA (ipv6) records for the given name.
      Parameters:
        `name` - the name to resolve
      Returns:
        a future notified with a `List` that contains all the resolved `Inet6Address`es. If none was found an empty `List` will be used. If an error occurs it will get failed.

    - #### resolveCNAME

          public Future<List<String>> resolveCNAME​(String name)

      Try to resolve the CNAME record for the given name.
      Parameters:
        `name` - the name to resolve the CNAME for
      Returns:
        a future notified with the resolved `String` if a record was found. If none was found it will get notified with `null`. If an error occurs it will get failed.

    - #### rxResolveCNAME

          public Single<List<String>> rxResolveCNAME​(String name)

      Try to resolve the CNAME record for the given name.
      Parameters:
        `name` - the name to resolve the CNAME for
      Returns:
        a future notified with the resolved `String` if a record was found. If none was found it will get notified with `null`. If an error occurs it will get failed.

    - #### resolveMX

          public Future<List<MxRecord>> resolveMX​(String name)

      Try to resolve the MX records for the given name.
      Parameters:
        `name` - the name for which the MX records should be resolved
      Returns:
        a future notified with a List that contains all resolved `MxRecord`s, sorted by their `MxRecord`. If none was found it will get notified with an empty `List`. If an error occurs it will get failed.

    - #### rxResolveMX

          public Single<List<MxRecord>> rxResolveMX​(String name)

      Try to resolve the MX records for the given name.
      Parameters:
        `name` - the name for which the MX records should be resolved
      Returns:
        a future notified with a List that contains all resolved `MxRecord`s, sorted by their `MxRecord`. If none was found it will get notified with an empty `List`. If an error occurs it will get failed.

    - #### resolveTXT

          public Future<List<String>> resolveTXT​(String name)

      Try to resolve the TXT records for the given name.
      Parameters:
        `name` - the name for which the TXT records should be resolved
      Returns:
        a future 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 occurs it will get failed.

    - #### rxResolveTXT

          public Single<List<String>> rxResolveTXT​(String name)

      Try to resolve the TXT records for the given name.
      Parameters:
        `name` - the name for which the TXT records should be resolved
      Returns:
        a future 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 occurs it will get failed.

    - #### resolvePTR

          public Future<String> resolvePTR​(String name)

      Try to resolve the PTR record for the given name.
      Parameters:
        `name` - the name to resolve the PTR for
      Returns:
        a future notified with the resolved `String` if a record was found. If none was found it will get notified with `null`. If an error occurs it will get failed.

    - #### rxResolvePTR

          public Maybe<String> rxResolvePTR​(String name)

      Try to resolve the PTR record for the given name.
      Parameters:
        `name` - the name to resolve the PTR for
      Returns:
        a future notified with the resolved `String` if a record was found. If none was found it will get notified with `null`. If an error occurs it will get failed.

    - #### resolveNS

          public Future<List<String>> resolveNS​(String name)

      Try to resolve the NS records for the given name.
      Parameters:
        `name` - the name for which the NS records should be resolved
      Returns:
        a future 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 occurs it will get failed.

    - #### rxResolveNS

          public Single<List<String>> rxResolveNS​(String name)

      Try to resolve the NS records for the given name.
      Parameters:
        `name` - the name for which the NS records should be resolved
      Returns:
        a future 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 occurs it will get failed.

    - #### resolveSRV

          public Future<List<SrvRecord>> resolveSRV​(String name)

      Try to resolve the SRV records for the given name.
      Parameters:
        `name` - the name for which the SRV records should be resolved
      Returns:
        a future resolved with a List that contains all resolved `SrvRecord`s. If none was found it will get notified with an empty `List`. If an error occurs it will get failed.

    - #### rxResolveSRV

          public Single<List<SrvRecord>> rxResolveSRV​(String name)

      Try to resolve the SRV records for the given name.
      Parameters:
        `name` - the name for which the SRV records should be resolved
      Returns:
        a future resolved with a List that contains all resolved `SrvRecord`s. If none was found it will get notified with an empty `List`. If an error occurs it will get failed.

    - #### reverseLookup

          public Future<String> reverseLookup​(String ipaddress)

      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
      Returns:
        a future notified with the resolved `String` if a record was found. If none was found it will get notified with `null`. If an error occurs it will get failed.

    - #### rxReverseLookup

          public Maybe<String> rxReverseLookup​(String ipaddress)

      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
      Returns:
        a future notified with the resolved `String` if a record was found. If none was found it will get notified with `null`. If an error occurs it will get failed.

    - #### close

          public Future<Void> close()

      Close the client.
      Returns:
        the future completed when the client resources have been released

    - #### rxClose

          public Completable rxClose()

      Close the client.
      Returns:
        the future completed when the client resources have been released

    - #### newInstance

          public static DnsClient newInstance​(DnsClient arg)