Record Class PacketHeader.Initial
java.lang.Object
java.lang.Record
io.github.mahmoudimus.quic.packet.PacketHeader.Initial
- Record Components:
version- the QUIC versiondestinationId- the Destination Connection IDsourceId- the Source Connection IDtoken- the address validation token, empty if nonepacketNumber- the full packet numberpacketNumberLength- the packet number length on the wire, 1 to 4
- All Implemented Interfaces:
PacketHeader,PacketHeader.Numbered
- Enclosing interface:
PacketHeader
public static record PacketHeader.Initial(QuicVersion version, ConnectionId destinationId, ConnectionId sourceId, byte[] token, long packetNumber, int packetNumberLength)
extends Record
implements PacketHeader.Numbered
An Initial packet header (RFC 9000 section 17.2.2).
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.github.mahmoudimus.quic.packet.PacketHeader
PacketHeader.Handshake, PacketHeader.Initial, PacketHeader.Numbered, PacketHeader.Retry, PacketHeader.Short, PacketHeader.VersionNegotiation, PacketHeader.ZeroRtt -
Field Summary
Fields inherited from interface io.github.mahmoudimus.quic.packet.PacketHeader
FIXED_BIT, KEY_PHASE_BIT, LONG_HEADER_FORM, LONG_RESERVED_BITS, SHORT_RESERVED_BITS, SPIN_BIT -
Constructor Summary
ConstructorsConstructorDescriptionInitial(QuicVersion version, ConnectionId destinationId, ConnectionId sourceId, byte[] token, long packetNumber, int packetNumberLength) An Initial header. -
Method Summary
Modifier and TypeMethodDescriptionReturns the value of thedestinationIdrecord component.encode(ByteBuffer out) Writes the header at the buffer's position.booleanIndicates whether some other object is "equal to" this one.inthashCode()Returns a hash code value for this object.longReturns the value of thepacketNumberrecord component.intReturns the value of thepacketNumberLengthrecord component.sourceId()Returns the value of thesourceIdrecord component.byte[]token()The token.toString()Returns a string representation of this record class.type()The packet type.version()Returns the value of theversionrecord component.
-
Constructor Details
-
Initial
public Initial(QuicVersion version, ConnectionId destinationId, ConnectionId sourceId, byte[] token, long packetNumber, int packetNumberLength) An Initial header.- Parameters:
version- the QUIC versiondestinationId- the Destination Connection IDsourceId- the Source Connection IDtoken- the address validation token, empty if nonepacketNumber- the full packet numberpacketNumberLength- the packet number length on the wire, 1 to 4
-
-
Method Details
-
type
Description copied from interface:PacketHeaderThe packet type.- Specified by:
typein interfacePacketHeader- Returns:
- the type
-
token
public byte[] token()The token.- Returns:
- a copy of the token bytes
-
encode
Description copied from interface:PacketHeaderWrites the header at the buffer's position.- Specified by:
encodein interfacePacketHeader- Parameters:
out- the buffer- Returns:
- where the fields landed
-
equals
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. Reference components are compared withObjects::equals(Object,Object); primitive components are compared with '=='. -
hashCode
public int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
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. -
version
Returns the value of theversionrecord component.- Returns:
- the value of the
versionrecord component
-
destinationId
Returns the value of thedestinationIdrecord component.- Specified by:
destinationIdin interfacePacketHeader- Returns:
- the value of the
destinationIdrecord component
-
sourceId
Returns the value of thesourceIdrecord component.- Returns:
- the value of the
sourceIdrecord component
-
packetNumber
public long packetNumber()Returns the value of thepacketNumberrecord component.- Specified by:
packetNumberin interfacePacketHeader.Numbered- Returns:
- the value of the
packetNumberrecord component
-
packetNumberLength
public int packetNumberLength()Returns the value of thepacketNumberLengthrecord component.- Specified by:
packetNumberLengthin interfacePacketHeader.Numbered- Returns:
- the value of the
packetNumberLengthrecord component
-