Home / Function/ serviceLoadExtensions() — netty Function Reference

serviceLoadExtensions() — netty Function Reference

Architecture documentation for the serviceLoadExtensions() function in ChannelInitializerExtensions.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  a6dac6b4_0853_3f22_18a9_d6a43cb56989["serviceLoadExtensions()"]
  bab902d4_1654_a0a4_ea13_538279bdc06d["ServiceLoadingExtensions"]
  a6dac6b4_0853_3f22_18a9_d6a43cb56989 -->|defined in| bab902d4_1654_a0a4_ea13_538279bdc06d
  c4116caa_0c6a_1f97_2e1c_c079408be1b0["extensions()"]
  c4116caa_0c6a_1f97_2e1c_c079408be1b0 -->|calls| a6dac6b4_0853_3f22_18a9_d6a43cb56989
  style a6dac6b4_0853_3f22_18a9_d6a43cb56989 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

transport/src/main/java/io/netty/bootstrap/ChannelInitializerExtensions.java lines 102–125

        private static Collection<ChannelInitializerExtension> serviceLoadExtensions(boolean load, ClassLoader cl) {
            List<ChannelInitializerExtension> extensions = new ArrayList<ChannelInitializerExtension>();

            ServiceLoader<ChannelInitializerExtension> loader = ServiceLoader.load(
                    ChannelInitializerExtension.class, cl);
            for (ChannelInitializerExtension extension : loader) {
                extensions.add(extension);
            }

            if (!extensions.isEmpty()) {
                Collections.sort(extensions, new Comparator<ChannelInitializerExtension>() {
                    @Override
                    public int compare(ChannelInitializerExtension a, ChannelInitializerExtension b) {
                        return Double.compare(a.priority(), b.priority());
                    }
                });
                logger.info("ServiceLoader {}(s) {}: {}", ChannelInitializerExtension.class.getSimpleName(),
                        load ? "registered" : "detected", extensions);
                return Collections.unmodifiableList(extensions);
            }
            logger.debug("ServiceLoader {}(s) {}: []", ChannelInitializerExtension.class.getSimpleName(),
                    load ? "registered" : "detected");
            return Collections.emptyList();
        }

Domain

Subdomains

Called By

Frequently Asked Questions

What does serviceLoadExtensions() do?
serviceLoadExtensions() is a function in the netty codebase, defined in transport/src/main/java/io/netty/bootstrap/ChannelInitializerExtensions.java.
Where is serviceLoadExtensions() defined?
serviceLoadExtensions() is defined in transport/src/main/java/io/netty/bootstrap/ChannelInitializerExtensions.java at line 102.
What calls serviceLoadExtensions()?
serviceLoadExtensions() is called by 1 function(s): extensions.

Analyze Your Own Codebase

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

Try Supermodel Free