APIdia Launch Partner
Top Description Fields Constructors Methods
jdk.internal.net.http.quic

public abstract Class QuicConnectionId

extends Object
implements Comparable<QuicConnectionId>
Class Inheritance
All Implemented Interfaces
java.lang.Comparable
Known Direct Subclasses
jdk.internal.net.http.quic.PeerConnectionId, jdk.internal.net.http.quic.QuicConnectionIdFactory.QuicLocalConnectionId
Imports
java.nio.ByteBuffer, java.util.HexFormat

Models a Quic Connection id. QuicConnectionId instance are typically created by a Quic client or server.

Field Summary

Modifier and TypeField and Description
protected final ByteBuffer
protected final int
public static final int
MAX_CONNECTION_ID_LENGTH

The maximum length, in bytes, of a connection id. This is supposed to be version-specific, but for now, we are going to treat that as a universal constant.

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public ByteBuffer

Returns:

A new read only buffer containing this connection id bytes.
asReadOnlyBuffer
()

Returns this connection id bytes as a read-only buffer.

public int

Returns:

-1, 0, or 1 if this connection's id bytes are less, equal, or greater than the provided bytes.
compareBytes
(ByteBuffer
A byte buffer containing the id bytes of another connection id.
idbytes
)

Compare this connection id bytes with the bytes in the given byte buffer.

public int
compareTo(QuicConnectionId o)

Implements java.lang.Comparable.compareTo.

Compares this object with the specified object for order.

public final boolean
equals(Object o)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

public byte[]

Returns:

A new byte array containing this connection id bytes.
getBytes
()

Returns this connection id bytes as a byte array.

public final int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.

public int

Returns:

the length of this connection id
length
()

Returns the length of this connection id, in bytes;

public boolean

Returns:

true if the bytes in the given buffer match this connection id bytes.
matches
(ByteBuffer
A buffer that delimits a connection id.
idbytes
)

Tells whether the given byte buffer matches this connection id. The given byte buffer is expected to have its position set at the start of the connection id, and its limit at the end.

public String

Returns:

an hexadecimal string representing this connection id bytes, as returned by HexFormat.of().formatHex(getBytes())
toHexString
()

Returns an hexadecimal string representing this connection id bytes, as returned by HexFormat.of().formatHex(getBytes()).

Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAlltoStringwaitwaitwait

Field Detail

bufback to summary
protected final ByteBuffer buf
hashCodeback to summary
protected final int hashCode
MAX_CONNECTION_ID_LENGTHback to summary
public static final int MAX_CONNECTION_ID_LENGTH

The maximum length, in bytes, of a connection id. This is supposed to be version-specific, but for now, we are going to treat that as a universal constant.

Constructor Detail

QuicConnectionIdback to summary
protected QuicConnectionId(ByteBuffer buf)

Method Detail

asReadOnlyBufferback to summary
public ByteBuffer asReadOnlyBuffer()

Returns this connection id bytes as a read-only buffer.

Returns:ByteBuffer

A new read only buffer containing this connection id bytes.

compareBytesback to summary
public int compareBytes(ByteBuffer idbytes)

Compare this connection id bytes with the bytes in the given byte buffer.

The given byte buffer is expected to have its position set at the start of the connection id, and its limit at the end. In other words, Buffer.remaining() should indicate the connection id length.

This method does not advance the buffer position.

Implementation Specification

This is equivalent to:

this.asReadOnlyBuffer().comparesTo(idbytes)
 
Parameters
idbytes:ByteBuffer

A byte buffer containing the id bytes of another connection id.

Returns:int

-1, 0, or 1 if this connection's id bytes are less, equal, or greater than the provided bytes.

compareToback to summary
public int compareTo(QuicConnectionId o)

Implements java.lang.Comparable.compareTo.

Doc from java.lang.Comparable.compareTo.

Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

The implementor must ensure signum(x.compareTo(y)) == -signum(y.compareTo(x)) for all x and y. (This implies that x.compareTo(y) must throw an exception if and only if y.compareTo(x) throws an exception.)

The implementor must also ensure that the relation is transitive: (x.compareTo(y) > 0 && y.compareTo(z) > 0) implies x.compareTo(z) > 0.

Finally, the implementor must ensure that x.compareTo(y)==0 implies that signum(x.compareTo(z)) == signum(y.compareTo(z)), for all z.

Annotations
@Override
equalsback to summary
public final boolean equals(Object o)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Annotations
@Override
getBytesback to summary
public byte[] getBytes()

Returns this connection id bytes as a byte array.

Returns:byte[]

A new byte array containing this connection id bytes.

hashCodeback to summary
public final int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Annotations
@Override
lengthback to summary
public int length()

Returns the length of this connection id, in bytes;

Returns:int

the length of this connection id

matchesback to summary
public boolean matches(ByteBuffer idbytes)

Tells whether the given byte buffer matches this connection id. The given byte buffer is expected to have its position set at the start of the connection id, and its limit at the end. In other words, Buffer.remaining() should indicate the connection id length.

This method does not advance the buffer position.

Implementation Specification

This is equivalent to:

this.asReadOnlyBuffer().mismatch(idbytes) == -1
 
Parameters
idbytes:ByteBuffer

A buffer that delimits a connection id.

Returns:boolean

true if the bytes in the given buffer match this connection id bytes.

toHexStringback to summary
public String toHexString()

Returns an hexadecimal string representing this connection id bytes, as returned by HexFormat.of().formatHex(getBytes()).

Returns:String

an hexadecimal string representing this connection id bytes, as returned by HexFormat.of().formatHex(getBytes())