Home / Function/ doResolveAll() — netty Function Reference

doResolveAll() — netty Function Reference

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

Entity Profile

Dependency Diagram

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

Relationship Graph

Source Code

resolver/src/main/java/io/netty/resolver/RoundRobinInetAddressResolver.java lines 72–90

    @Override
    protected void doResolveAll(String inetHost, final Promise<List<InetAddress>> promise) throws Exception {
        nameResolver.resolveAll(inetHost).addListener((FutureListener<List<InetAddress>>) future -> {
            if (future.isSuccess()) {
                List<InetAddress> inetAddresses = future.getNow();
                if (!inetAddresses.isEmpty()) {
                    // create a copy to make sure that it's modifiable random access collection
                    List<InetAddress> result = new ArrayList<InetAddress>(inetAddresses);
                    // rotate by different distance each time to force round robin distribution
                    Collections.rotate(result, randomIndex(inetAddresses.size()));
                    promise.setSuccess(result);
                } else {
                    promise.setSuccess(inetAddresses);
                }
            } else {
                promise.setFailure(future.cause());
            }
        });
    }

Domain

Subdomains

Frequently Asked Questions

What does doResolveAll() do?
doResolveAll() is a function in the netty codebase, defined in resolver/src/main/java/io/netty/resolver/RoundRobinInetAddressResolver.java.
Where is doResolveAll() defined?
doResolveAll() is defined in resolver/src/main/java/io/netty/resolver/RoundRobinInetAddressResolver.java at line 72.
What does doResolveAll() call?
doResolveAll() 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