Record Class PreferredAddress

java.lang.Object
java.lang.Record
io.github.mahmoudimus.quic.params.PreferredAddress
Record Components:
ipv4 - the IPv4 address and port, or null
ipv6 - the IPv6 address and port, or null
connectionId - the connection ID to use at the new address, 1 to 20 bytes
statelessResetToken - the reset token for that connection ID

public record PreferredAddress(InetSocketAddress ipv4, InetSocketAddress ipv6, ConnectionId connectionId, StatelessResetToken statelessResetToken) extends Record
The server's preferred_address transport parameter (RFC 9000 section 18.2): an address to migrate to after the handshake, with a connection ID and reset token for it. At least one of the two addresses is present.
  • Constructor Details

    • PreferredAddress

      public PreferredAddress(InetSocketAddress ipv4, InetSocketAddress ipv6, ConnectionId connectionId, StatelessResetToken statelessResetToken)
      A preferred address.
      Parameters:
      ipv4 - the IPv4 address and port, or null
      ipv6 - the IPv6 address and port, or null
      connectionId - the connection ID to use at the new address
      statelessResetToken - the reset token for that connection ID
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • ipv4

      public InetSocketAddress ipv4()
      Returns the value of the ipv4 record component.
      Returns:
      the value of the ipv4 record component
    • ipv6

      public InetSocketAddress ipv6()
      Returns the value of the ipv6 record component.
      Returns:
      the value of the ipv6 record component
    • connectionId

      public ConnectionId connectionId()
      Returns the value of the connectionId record component.
      Returns:
      the value of the connectionId record component
    • statelessResetToken

      public StatelessResetToken statelessResetToken()
      Returns the value of the statelessResetToken record component.
      Returns:
      the value of the statelessResetToken record component