Home / Class/ BiDnsQueryLifecycleObserver Class — netty Architecture

BiDnsQueryLifecycleObserver Class — netty Architecture

Architecture documentation for the BiDnsQueryLifecycleObserver class in BiDnsQueryLifecycleObserver.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  0e198f5a_470e_bc6b_1b6a_93e5cc45c740["BiDnsQueryLifecycleObserver"]
  c08704a2_d4ab_e5fd_7899_8cae1b3907e7["BiDnsQueryLifecycleObserver.java"]
  0e198f5a_470e_bc6b_1b6a_93e5cc45c740 -->|defined in| c08704a2_d4ab_e5fd_7899_8cae1b3907e7
  3e8005a4_d5a9_3f6e_d691_c5a8556cd920["BiDnsQueryLifecycleObserver()"]
  0e198f5a_470e_bc6b_1b6a_93e5cc45c740 -->|method| 3e8005a4_d5a9_3f6e_d691_c5a8556cd920
  2ed245c5_88b6_c6e7_12e4_1079b68a60f5["queryWritten()"]
  0e198f5a_470e_bc6b_1b6a_93e5cc45c740 -->|method| 2ed245c5_88b6_c6e7_12e4_1079b68a60f5
  ed5c4691_3d9a_c99a_54fc_e50d4404fcec["queryCancelled()"]
  0e198f5a_470e_bc6b_1b6a_93e5cc45c740 -->|method| ed5c4691_3d9a_c99a_54fc_e50d4404fcec
  f4be6a03_007f_cb01_2c5a_f7a7ba0433f0["DnsQueryLifecycleObserver()"]
  0e198f5a_470e_bc6b_1b6a_93e5cc45c740 -->|method| f4be6a03_007f_cb01_2c5a_f7a7ba0433f0
  dc95df39_94e1_7935_b879_b634c2b654f5["queryFailed()"]
  0e198f5a_470e_bc6b_1b6a_93e5cc45c740 -->|method| dc95df39_94e1_7935_b879_b634c2b654f5
  7ecf85d5_aa32_79d2_8101_faa2da74d41b["querySucceed()"]
  0e198f5a_470e_bc6b_1b6a_93e5cc45c740 -->|method| 7ecf85d5_aa32_79d2_8101_faa2da74d41b

Relationship Graph

Source Code

resolver-dns/src/main/java/io/netty/resolver/dns/BiDnsQueryLifecycleObserver.java lines 30–109

public final class BiDnsQueryLifecycleObserver implements DnsQueryLifecycleObserver {
    private final DnsQueryLifecycleObserver a;
    private final DnsQueryLifecycleObserver b;

    /**
     * Create a new instance.
     * @param a The {@link DnsQueryLifecycleObserver} that will receive events first.
     * @param b The {@link DnsQueryLifecycleObserver} that will receive events second.
     */
    public BiDnsQueryLifecycleObserver(DnsQueryLifecycleObserver a, DnsQueryLifecycleObserver b) {
        this.a = checkNotNull(a, "a");
        this.b = checkNotNull(b, "b");
    }

    @Override
    public void queryWritten(InetSocketAddress dnsServerAddress, ChannelFuture future) {
        try {
            a.queryWritten(dnsServerAddress, future);
        } finally {
            b.queryWritten(dnsServerAddress, future);
        }
    }

    @Override
    public void queryCancelled(int queriesRemaining) {
        try {
            a.queryCancelled(queriesRemaining);
        } finally {
            b.queryCancelled(queriesRemaining);
        }
    }

    @Override
    public DnsQueryLifecycleObserver queryRedirected(List<InetSocketAddress> nameServers) {
        try {
            a.queryRedirected(nameServers);
        } finally {
            b.queryRedirected(nameServers);
        }
        return this;
    }

    @Override
    public DnsQueryLifecycleObserver queryCNAMEd(DnsQuestion cnameQuestion) {
        try {
            a.queryCNAMEd(cnameQuestion);
        } finally {
            b.queryCNAMEd(cnameQuestion);
        }
        return this;
    }

    @Override
    public DnsQueryLifecycleObserver queryNoAnswer(DnsResponseCode code) {
        try {
            a.queryNoAnswer(code);
        } finally {
            b.queryNoAnswer(code);
        }
        return this;
    }

    @Override
    public void queryFailed(Throwable cause) {
        try {
            a.queryFailed(cause);
        } finally {
            b.queryFailed(cause);
        }
    }

    @Override
    public void querySucceed() {
        try {
            a.querySucceed();
        } finally {
            b.querySucceed();
        }
    }
}

Frequently Asked Questions

What is the BiDnsQueryLifecycleObserver class?
BiDnsQueryLifecycleObserver is a class in the netty codebase, defined in resolver-dns/src/main/java/io/netty/resolver/dns/BiDnsQueryLifecycleObserver.java.
Where is BiDnsQueryLifecycleObserver defined?
BiDnsQueryLifecycleObserver is defined in resolver-dns/src/main/java/io/netty/resolver/dns/BiDnsQueryLifecycleObserver.java at line 30.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free