Home / Function/ finishFailure() — netty Function Reference

finishFailure() — netty Function Reference

Architecture documentation for the finishFailure() function in DnsQueryContext.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  c1b3ef8a_d203_e5e3_4c2f_67fdad9bbd92["finishFailure()"]
  360b8eed_0666_8e3d_9331_e795bb312381["DnsQueryContext"]
  c1b3ef8a_d203_e5e3_4c2f_67fdad9bbd92 -->|defined in| 360b8eed_0666_8e3d_9331_e795bb312381
  d553b80a_9410_aa58_ac6c_ad8bcdf2e222["writeQuery()"]
  d553b80a_9410_aa58_ac6c_ad8bcdf2e222 -->|calls| c1b3ef8a_d203_e5e3_4c2f_67fdad9bbd92
  02e54375_a4b8_ba90_af41_190cf641d5e4["onQueryWriteCompletion()"]
  02e54375_a4b8_ba90_af41_190cf641d5e4 -->|calls| c1b3ef8a_d203_e5e3_4c2f_67fdad9bbd92
  4d492031_b30c_1800_087b_fedd91fd6347["retryWithTcp()"]
  4d492031_b30c_1800_087b_fedd91fd6347 -->|calls| c1b3ef8a_d203_e5e3_4c2f_67fdad9bbd92
  74bccd11_01b5_da96_3a42_7c9f607f3a24["isDone()"]
  c1b3ef8a_d203_e5e3_4c2f_67fdad9bbd92 -->|calls| 74bccd11_01b5_da96_3a42_7c9f607f3a24
  4d492031_b30c_1800_087b_fedd91fd6347["retryWithTcp()"]
  c1b3ef8a_d203_e5e3_4c2f_67fdad9bbd92 -->|calls| 4d492031_b30c_1800_087b_fedd91fd6347
  style c1b3ef8a_d203_e5e3_4c2f_67fdad9bbd92 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

resolver-dns/src/main/java/io/netty/resolver/dns/DnsQueryContext.java lines 310–340

    final boolean finishFailure(String message, Throwable cause, boolean timeout) {
        if (promise.isDone()) {
            return false;
        }
        final DnsQuestion question = question();

        final StringBuilder buf = new StringBuilder(message.length() + 128);
        buf.append('[')
           .append(id)
           .append(": ")
           .append(nameServerAddr)
           .append("] ")
           .append(question)
           .append(' ')
           .append(message)
           .append(" (no stack trace available)");

        final DnsNameResolverException e;
        if (timeout) {
            // This was caused by a timeout so use DnsNameResolverTimeoutException to allow the user to
            // handle it special (like retry the query).
            e = new DnsNameResolverTimeoutException(nameServerAddr, question, buf.toString());
            if (retryWithTcpOnTimeout && retryWithTcp(e)) {
                // We did successfully retry with TCP.
                return false;
            }
        } else {
            e = new DnsNameResolverException(nameServerAddr, question, buf.toString(), cause);
        }
        return promise.tryFailure(e);
    }

Subdomains

Frequently Asked Questions

What does finishFailure() do?
finishFailure() is a function in the netty codebase, defined in resolver-dns/src/main/java/io/netty/resolver/dns/DnsQueryContext.java.
Where is finishFailure() defined?
finishFailure() is defined in resolver-dns/src/main/java/io/netty/resolver/dns/DnsQueryContext.java at line 310.
What does finishFailure() call?
finishFailure() calls 2 function(s): isDone, retryWithTcp.
What calls finishFailure()?
finishFailure() is called by 3 function(s): onQueryWriteCompletion, retryWithTcp, writeQuery.

Analyze Your Own Codebase

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

Try Supermodel Free