Home / Function/ getResolver() — netty Function Reference

getResolver() — netty Function Reference

Architecture documentation for the getResolver() function in AddressResolverGroup.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  25197d51_0fdb_072b_6fd1_a80c532cc94b["getResolver()"]
  994fafa0_81fa_00f6_95d1_4a01e226525f["AddressResolverGroup"]
  25197d51_0fdb_072b_6fd1_a80c532cc94b -->|defined in| 994fafa0_81fa_00f6_95d1_4a01e226525f
  fbb6fda2_ff45_1b71_7da5_92625f38c055["newResolver()"]
  25197d51_0fdb_072b_6fd1_a80c532cc94b -->|calls| fbb6fda2_ff45_1b71_7da5_92625f38c055
  b8905cd7_5a5f_3cc8_f2ff_e58e1e2384fa["close()"]
  25197d51_0fdb_072b_6fd1_a80c532cc94b -->|calls| b8905cd7_5a5f_3cc8_f2ff_e58e1e2384fa
  style 25197d51_0fdb_072b_6fd1_a80c532cc94b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

resolver/src/main/java/io/netty/resolver/AddressResolverGroup.java lines 57–93

    public AddressResolver<T> getResolver(final EventExecutor executor) {
        ObjectUtil.checkNotNull(executor, "executor");

        if (executor.isShuttingDown()) {
            throw new IllegalStateException("executor not accepting a task");
        }

        AddressResolver<T> r;
        synchronized (resolvers) {
            r = resolvers.get(executor);
            if (r == null) {
                final AddressResolver<T> newResolver;
                try {
                    newResolver = newResolver(executor);
                } catch (Exception e) {
                    throw new IllegalStateException("failed to create a new resolver", e);
                }

                resolvers.put(executor, newResolver);

                final FutureListener<Object> terminationListener = future -> {
                    synchronized (resolvers) {
                        resolvers.remove(executor);
                        executorTerminationListeners.remove(executor);
                    }
                    newResolver.close();
                };

                executorTerminationListeners.put(executor, terminationListener);
                executor.terminationFuture().addListener(terminationListener);

                r = newResolver;
            }
        }

        return r;
    }

Domain

Subdomains

Frequently Asked Questions

What does getResolver() do?
getResolver() is a function in the netty codebase, defined in resolver/src/main/java/io/netty/resolver/AddressResolverGroup.java.
Where is getResolver() defined?
getResolver() is defined in resolver/src/main/java/io/netty/resolver/AddressResolverGroup.java at line 57.
What does getResolver() call?
getResolver() calls 2 function(s): close, newResolver.

Analyze Your Own Codebase

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

Try Supermodel Free