Home / Function/ doResolve() — netty Function Reference

doResolve() — netty Function Reference

Architecture documentation for the doResolve() function in RoundRobinInetAddressResolver.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  42755012_9520_6e5c_15aa_ee27dfde01c8["doResolve()"]
  98d66d81_a0c9_6fef_a9dd_7d394e0ca501["RoundRobinInetAddressResolver"]
  42755012_9520_6e5c_15aa_ee27dfde01c8 -->|defined in| 98d66d81_a0c9_6fef_a9dd_7d394e0ca501
  e78f5931_63af_709e_1cd7_e63090adbe84["randomIndex()"]
  42755012_9520_6e5c_15aa_ee27dfde01c8 -->|calls| e78f5931_63af_709e_1cd7_e63090adbe84
  style 42755012_9520_6e5c_15aa_ee27dfde01c8 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

resolver/src/main/java/io/netty/resolver/RoundRobinInetAddressResolver.java lines 50–70

    @Override
    protected void doResolve(final String inetHost, final Promise<InetAddress> promise) throws Exception {
        // hijack the doResolve request, but do a doResolveAll request under the hood.
        // Note that InetSocketAddress.getHostName() will never incur a reverse lookup here,
        // because an unresolved address always has a host name.
        nameResolver.resolveAll(inetHost).addListener((FutureListener<List<InetAddress>>) future -> {
            if (future.isSuccess()) {
                List<InetAddress> inetAddresses = future.getNow();
                int numAddresses = inetAddresses.size();
                if (numAddresses > 0) {
                    // if there are multiple addresses: we shall pick one by one
                    // to support the round robin distribution
                    promise.setSuccess(inetAddresses.get(randomIndex(numAddresses)));
                } else {
                    promise.setFailure(new UnknownHostException(inetHost));
                }
            } else {
                promise.setFailure(future.cause());
            }
        });
    }

Domain

Subdomains

Frequently Asked Questions

What does doResolve() do?
doResolve() is a function in the netty codebase, defined in resolver/src/main/java/io/netty/resolver/RoundRobinInetAddressResolver.java.
Where is doResolve() defined?
doResolve() is defined in resolver/src/main/java/io/netty/resolver/RoundRobinInetAddressResolver.java at line 50.
What does doResolve() call?
doResolve() calls 1 function(s): randomIndex.

Analyze Your Own Codebase

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

Try Supermodel Free