Home / Class/ NameServerComparator Class — netty Architecture

NameServerComparator Class — netty Architecture

Architecture documentation for the NameServerComparator class in NameServerComparator.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  ca6c087c_7405_d12c_01ce_02312b413470["NameServerComparator"]
  b3c7639d_afba_cf6c_fd82_603cbc941d89["NameServerComparator.java"]
  ca6c087c_7405_d12c_01ce_02312b413470 -->|defined in| b3c7639d_afba_cf6c_fd82_603cbc941d89
  40b526d8_5442_a184_f48d_94bf62b4405e["NameServerComparator()"]
  ca6c087c_7405_d12c_01ce_02312b413470 -->|method| 40b526d8_5442_a184_f48d_94bf62b4405e
  c2e97d01_f009_43c4_e45b_e34a3ed5058d["compare()"]
  ca6c087c_7405_d12c_01ce_02312b413470 -->|method| c2e97d01_f009_43c4_e45b_e34a3ed5058d

Relationship Graph

Source Code

resolver-dns/src/main/java/io/netty/resolver/dns/NameServerComparator.java lines 35–61

public final class NameServerComparator implements Comparator<InetSocketAddress>, Serializable {

    private static final long serialVersionUID = 8372151874317596185L;

    private final Class<? extends InetAddress> preferredAddressType;

    public NameServerComparator(Class<? extends InetAddress> preferredAddressType) {
        this.preferredAddressType = ObjectUtil.checkNotNull(preferredAddressType, "preferredAddressType");
    }

    @Override
    public int compare(InetSocketAddress addr1, InetSocketAddress addr2) {
        if (addr1.equals(addr2)) {
            return 0;
        }
        if (!addr1.isUnresolved() && !addr2.isUnresolved()) {
            if (addr1.getAddress().getClass() == addr2.getAddress().getClass()) {
                return 0;
            }
            return preferredAddressType.isAssignableFrom(addr1.getAddress().getClass()) ? -1 : 1;
        }
        if (addr1.isUnresolved() && addr2.isUnresolved()) {
            return 0;
        }
        return addr1.isUnresolved() ? 1 : -1;
    }
}

Frequently Asked Questions

What is the NameServerComparator class?
NameServerComparator is a class in the netty codebase, defined in resolver-dns/src/main/java/io/netty/resolver/dns/NameServerComparator.java.
Where is NameServerComparator defined?
NameServerComparator is defined in resolver-dns/src/main/java/io/netty/resolver/dns/NameServerComparator.java at line 35.

Analyze Your Own Codebase

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

Try Supermodel Free