Home / Class/ SequentialDnsServerAddressStream Class — netty Architecture

SequentialDnsServerAddressStream Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  6575f4f3_b082_70d8_598a_c202c3c39544["SequentialDnsServerAddressStream"]
  52555a8b_4468_92b1_b51b_88847d84682e["SequentialDnsServerAddressStream.java"]
  6575f4f3_b082_70d8_598a_c202c3c39544 -->|defined in| 52555a8b_4468_92b1_b51b_88847d84682e
  e3a88d6c_beec_98fa_296a_147dd55532b9["SequentialDnsServerAddressStream()"]
  6575f4f3_b082_70d8_598a_c202c3c39544 -->|method| e3a88d6c_beec_98fa_296a_147dd55532b9
  50670cbc_9cf4_bfbe_7e0e_57ae92b91acf["InetSocketAddress()"]
  6575f4f3_b082_70d8_598a_c202c3c39544 -->|method| 50670cbc_9cf4_bfbe_7e0e_57ae92b91acf
  8d2e1ae3_7006_21ba_e72e_afad9f1cad83["size()"]
  6575f4f3_b082_70d8_598a_c202c3c39544 -->|method| 8d2e1ae3_7006_21ba_e72e_afad9f1cad83
  16182675_a3af_1b80_68ca_76564d214389["String()"]
  6575f4f3_b082_70d8_598a_c202c3c39544 -->|method| 16182675_a3af_1b80_68ca_76564d214389

Relationship Graph

Source Code

resolver-dns/src/main/java/io/netty/resolver/dns/SequentialDnsServerAddressStream.java lines 23–73

final class SequentialDnsServerAddressStream implements DnsServerAddressStream {

    private final List<? extends InetSocketAddress> addresses;
    private int i;

    SequentialDnsServerAddressStream(List<? extends InetSocketAddress> addresses, int startIdx) {
        this.addresses = addresses;
        i = startIdx;
    }

    @Override
    public InetSocketAddress next() {
        int i = this.i;
        InetSocketAddress next = addresses.get(i);
        if (++ i < addresses.size()) {
            this.i = i;
        } else {
            this.i = 0;
        }
        return next;
    }

    @Override
    public int size() {
        return addresses.size();
    }

    @Override
    public SequentialDnsServerAddressStream duplicate() {
        return new SequentialDnsServerAddressStream(addresses, i);
    }

    @Override
    public String toString() {
        return toString("sequential", i, addresses);
    }

    static String toString(String type, int index, Collection<? extends InetSocketAddress> addresses) {
        final StringBuilder buf = new StringBuilder(type.length() + 2 + addresses.size() * 16);
        buf.append(type).append("(index: ").append(index);
        buf.append(", addrs: (");
        for (InetSocketAddress a: addresses) {
            buf.append(a).append(", ");
        }

        buf.setLength(buf.length() - 2);
        buf.append("))");

        return buf.toString();
    }
}

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free