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

public Interface RetryPacket

extends LongHeaderPacket
Known Direct Implementers
jdk.internal.net.http.quic.packets.QuicPacketDecoder.IncomingRetryPacket, jdk.internal.net.http.quic.packets.QuicPacketEncoder.OutgoingRetryPacket

This class models Quic Retry Packets, as defined by RFC 9000, Section 17.2.5:
A Retry packet uses a long packet header with a type value of 0x03.
   It carries an address validation token created by the server.
   It is used by a server that wishes to perform a retry; see Section 8.1.

   Retry Packet {
     Header Form (1) = 1,
     Fixed Bit (1) = 1,
     Long Packet Type (2) = 3,
     Unused (4),
     Version (32),
     Destination Connection ID Length (8),
     Destination Connection ID (0..160),
     Source Connection ID Length (8),
     Source Connection ID (0..160),
     Retry Token (..),
     Retry Integrity Tag (128),
   }

Subclasses of this class may be used to model packets exchanged with either Quic Version 1 or Quic Version 2. Note that Quic Version 2 uses the same Retry Packet structure than Quic Version 1, but uses a different long packet type than that shown above. See RFC 9369, Section 3.2.

External Specification
https://www.rfc-editor.org/info/rfc9000, https://www.rfc-editor.org/info/rfc9369
See Also
RFC 9000, Section 8.1

Method Summary

Modifier and TypeMethod and Description
public default QuicPacket.PacketNumberSpace
numberSpace()

Implements jdk.internal.net.http.quic.packets.QuicPacket.numberSpace.

This packet type is not numbered: returns PacketNumberSpace#NONE always.

public default long

Returns:

-1L
packetNumber
()

Overrides default jdk.internal.net.http.quic.packets.QuicPacket.packetNumber.

This packet type is not numbered: always returns -1L.

public default QuicPacket.PacketType
public byte[]

Returns:

the packet's retry token
retryToken
()

Returns the packet's retry token.

Inherited from jdk.internal.net.http.quic.packets.LongHeaderPacket:
headersTypesourceIdversion

Method Detail

numberSpaceback to summary
public default QuicPacket.PacketNumberSpace numberSpace()

Implements jdk.internal.net.http.quic.packets.QuicPacket.numberSpace.

This packet type is not numbered: returns PacketNumberSpace#NONE always.

Returns:QuicPacket.PacketNumberSpace

PacketNumberSpace#NONE

Annotations
@Override
packetNumberback to summary
public default long packetNumber()

Overrides default jdk.internal.net.http.quic.packets.QuicPacket.packetNumber.

This packet type is not numbered: always returns -1L.

Returns:long

-1L

Annotations
@Override
packetTypeback to summary
public default QuicPacket.PacketType packetType()

Implements jdk.internal.net.http.quic.packets.QuicPacket.packetType.

Doc from jdk.internal.net.http.quic.packets.QuicPacket.packetType.

Returns this packet's type.

Annotations
@Override
retryTokenback to summary
public byte[] retryToken()

Returns the packet's retry token. As per RFC 9000, Section 17.2.5:

An opaque token that the server can use to validate the client's address.
Returns:byte[]

the packet's retry token

See Also
RFC 9000, Section 8.1