Home / Class/ ReusedSourceConnectionId Class — netty Architecture

ReusedSourceConnectionId Class — netty Architecture

Architecture documentation for the ReusedSourceConnectionId class in QuicPathEvent.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  467228d1_7eab_10f0_43fc_60672285a4d5["ReusedSourceConnectionId"]
  a95b1e15_6984_fd51_0c08_95910b65bd04["QuicPathEvent.java"]
  467228d1_7eab_10f0_43fc_60672285a4d5 -->|defined in| a95b1e15_6984_fd51_0c08_95910b65bd04
  02901bd4_4b5b_ac7a_9ce3_dca2e83d29ee["ReusedSourceConnectionId()"]
  467228d1_7eab_10f0_43fc_60672285a4d5 -->|method| 02901bd4_4b5b_ac7a_9ce3_dca2e83d29ee
  db1a53d6_40f5_1985_c73e_a83dffc82d41["seq()"]
  467228d1_7eab_10f0_43fc_60672285a4d5 -->|method| db1a53d6_40f5_1985_c73e_a83dffc82d41
  819c090b_1615_9ef4_a3cd_81006ed8e47b["InetSocketAddress()"]
  467228d1_7eab_10f0_43fc_60672285a4d5 -->|method| 819c090b_1615_9ef4_a3cd_81006ed8e47b
  5c56cdd3_29d1_f8bd_ec19_c4549a320dd3["equals()"]
  467228d1_7eab_10f0_43fc_60672285a4d5 -->|method| 5c56cdd3_29d1_f8bd_ec19_c4549a320dd3
  4462c7c8_ae84_7c8e_a13b_db257f21de57["hashCode()"]
  467228d1_7eab_10f0_43fc_60672285a4d5 -->|method| 4462c7c8_ae84_7c8e_a13b_db257f21de57
  930e1e23_1b0c_478d_22da_288e788a7e31["String()"]
  467228d1_7eab_10f0_43fc_60672285a4d5 -->|method| 930e1e23_1b0c_478d_22da_288e788a7e31

Relationship Graph

Source Code

codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicPathEvent.java lines 185–278

    public static final class ReusedSourceConnectionId extends QuicPathEvent {
        private final long seq;
        private final InetSocketAddress oldLocal;
        private final InetSocketAddress oldRemote;

        /**
         * The stack observes that the Source Connection ID with the given sequence number,
         * initially used by the peer over the first pair of addresses, is now reused over
         * the second pair of addresses.
         *
         * @param seq           sequence number
         * @param oldLocal      old local address.
         * @param oldRemote     old remote address.
         * @param local         local address.
         * @param remote        remote address.
         */
        public ReusedSourceConnectionId(long seq, InetSocketAddress oldLocal, InetSocketAddress oldRemote,
                                       InetSocketAddress local, InetSocketAddress remote) {
            super(local, remote);
            this.seq = seq;
            this.oldLocal = requireNonNull(oldLocal, "oldLocal");
            this.oldRemote = requireNonNull(oldRemote, "oldRemote");
        }

        /**
         * Source connection id sequence number.
         *
         * @return  sequence number
         */
        public long seq() {
            return seq;
        }

        /**
         * The old local address of the network path.
         *
         * @return  local
         */
        public InetSocketAddress oldLocal() {
            return oldLocal;
        }

        /**
         * The old remote address of the network path.
         *
         * @return  local
         */
        public InetSocketAddress oldRemote() {
            return oldRemote;
        }

        @Override
        public boolean equals(Object o) {
            if (this == o) {
                return true;
            }
            if (o == null || getClass() != o.getClass()) {
                return false;
            }
            if (!super.equals(o)) {
                return false;
            }

            ReusedSourceConnectionId that = (ReusedSourceConnectionId) o;

            if (seq != that.seq) {
                return false;
            }
            if (!Objects.equals(oldLocal, that.oldLocal)) {
                return false;
            }
            return Objects.equals(oldRemote, that.oldRemote);
        }

        @Override
        public int hashCode() {
            int result = super.hashCode();
            result = 31 * result + (int) (seq ^ (seq >>> 32));
            result = 31 * result + (oldLocal != null ? oldLocal.hashCode() : 0);
            result = 31 * result + (oldRemote != null ? oldRemote.hashCode() : 0);
            return result;

Frequently Asked Questions

What is the ReusedSourceConnectionId class?
ReusedSourceConnectionId is a class in the netty codebase, defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicPathEvent.java.
Where is ReusedSourceConnectionId defined?
ReusedSourceConnectionId is defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicPathEvent.java at line 185.

Analyze Your Own Codebase

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

Try Supermodel Free