| Modifier and Type | Field and Description |
|---|---|
| public static final int | |
| public static final int | |
| public static final int | |
| public static final int | |
| private final int | |
| public static final int | |
| public static final int | |
| private static final int | |
| public static final int | |
| public static final int | |
| public static final long | |
| public static final int | |
| public static final int | |
| public static final int | PADDING
Frame types |
| public static final int | |
| public static final int | |
| public static final int | |
| public static final int | |
| public static final int | |
| public static final int | |
| public static final int | |
| public static final int | |
| public static final int |
| Access | Constructor and Description |
|---|---|
| pack-priv | QuicFrame(int
the first byte of the frame, which encodes the frame type. type)Concrete Frame types normally have two constructors which call this XXXFrame(ByteBuffer, int firstByte) which is called for incoming frames after reading the first byte to determine the type. |
| Modifier and Type | Method and Description |
|---|---|
| public static QuicFrame | |
| protected final long | |
| protected final int | |
| public abstract void | |
| protected static void | |
| public static Class | |
| public int | |
| public static int | |
| public long | Returns: the type field that was / should be encodedReturns the type field that was / should be encoded. |
| protected static int | |
| public boolean | Returns: true if this frame is ACK-elicitingReturns true if this frame is ACK-eliciting. |
| public boolean | Returns: true if the frame can be embedded in a packet of that typethe packet type packetTypeTells whether this particular frame is valid in the given packet type. |
| private static int | |
| protected static void | |
| protected static int | |
| protected static long | |
| public abstract int | Returns: the minimum number of bytes needed to encode this frameReturns the minimum number of bytes needed to encode this frame. |
| public String | |
| protected static void | validateRemainingLength(ByteBuffer
source buffer buffer, int minimum number of bytes required expected, long frame type to include in exception type)Throws a QuicTransportException if the given buffer does not have enough bytes to finish decoding the frame |
| ACK | back to summary |
|---|---|
| public static final int ACK | |
| CONNECTION_CLOSE | back to summary |
|---|---|
| public static final int CONNECTION_CLOSE | |
| CRYPTO | back to summary |
|---|---|
| public static final int CRYPTO | |
| DATA_BLOCKED | back to summary |
|---|---|
| public static final int DATA_BLOCKED | |
| frameType | back to summary |
|---|---|
| private final int frameType | |
| HANDSHAKE_DONE | back to summary |
|---|---|
| public static final int HANDSHAKE_DONE | |
| MAX_DATA | back to summary |
|---|---|
| public static final int MAX_DATA | |
| MAX_KNOWN_FRAME_TYPE | back to summary |
|---|---|
| private static final int MAX_KNOWN_FRAME_TYPE | |
| MAX_STREAM_DATA | back to summary |
|---|---|
| public static final int MAX_STREAM_DATA | |
| MAX_STREAMS | back to summary |
|---|---|
| public static final int MAX_STREAMS | |
| MAX_VL_INTEGER | back to summary |
|---|---|
| public static final long MAX_VL_INTEGER | |
| NEW_CONNECTION_ID | back to summary |
|---|---|
| public static final int NEW_CONNECTION_ID | |
| NEW_TOKEN | back to summary |
|---|---|
| public static final int NEW_TOKEN | |
| PADDING | back to summary |
|---|---|
| public static final int PADDING Frame types | |
| PATH_CHALLENGE | back to summary |
|---|---|
| public static final int PATH_CHALLENGE | |
| PATH_RESPONSE | back to summary |
|---|---|
| public static final int PATH_RESPONSE | |
| PING | back to summary |
|---|---|
| public static final int PING | |
| RESET_STREAM | back to summary |
|---|---|
| public static final int RESET_STREAM | |
| RETIRE_CONNECTION_ID | back to summary |
|---|---|
| public static final int RETIRE_CONNECTION_ID | |
| STOP_SENDING | back to summary |
|---|---|
| public static final int STOP_SENDING | |
| STREAM | back to summary |
|---|---|
| public static final int STREAM | |
| STREAM_DATA_BLOCKED | back to summary |
|---|---|
| public static final int STREAM_DATA_BLOCKED | |
| STREAMS_BLOCKED | back to summary |
|---|---|
| public static final int STREAMS_BLOCKED | |
| QuicFrame | back to summary |
|---|---|
| pack-priv QuicFrame(int type) Concrete Frame types normally have two constructors which call this XXXFrame(ByteBuffer, int firstByte) which is called for incoming frames after reading the first byte to determine the type. The firstByte is also supplied to the constructor because it can contain additional state information XXXFrame(...) which is called to instantiate outgoing frames
| |
| decode | back to summary |
|---|---|
| public static QuicFrame decode(ByteBuffer buffer) throws QuicTransportException decode given ByteBuffer and return a QUICFrame | |
| decodeVLField | back to summary |
|---|---|
| protected final long decodeVLField(ByteBuffer buffer, String name) throws QuicTransportException | |
| decodeVLFieldAsInt | back to summary |
|---|---|
| protected final int decodeVLFieldAsInt(ByteBuffer buffer, String name) throws QuicTransportException | |
| encode | back to summary |
|---|---|
| public abstract void encode(ByteBuffer buffer) Encode this QUIC Frame into given ByteBuffer | |
| encodeVLField | back to summary |
|---|---|
| protected static void encodeVLField(ByteBuffer buffer, long val, String name) | |
| frameClassOf | back to summary |
|---|---|
| public static Class | |
| frameType | back to summary |
|---|---|
| public int frameType() The type of this frame, ie. one of values above, which means it excludes the additional information that is encoded into the first field of some QUIC frames. That additional info has to be maintained by the sub class and used by its encode() method to generate the first field for outgoing frames. see maskType() below | |
| frameTypeOf | back to summary |
|---|---|
| public static int frameTypeOf(Class<? extends QuicFrame> frameClass) | |
| getTypeField | back to summary |
|---|---|
| public long getTypeField() Returns the type field that was / should be encoded. This is the frame type with possibly some additional bits set, depending on the frame. Implementation Specification The default implementation of this method is to return
| |
| getVLFieldLengthFor | back to summary |
|---|---|
| protected static int getVLFieldLengthFor(long val) | |
| isAckEliciting | back to summary |
|---|---|
| public boolean isAckEliciting() Returns true if this frame is ACK-eliciting.
A frame is ACK-eliciting if it is anything
other than
| |
| isValidIn | back to summary |
|---|---|
| public boolean isValidIn(QuicPacket. Tells whether this particular frame is valid in the given packet type. From RFC 9000, section 12.5. Frames and Number Spaces: Some frames are prohibited in different packet number space The rules here generalize those of TLS, in that frames associated with establishing the connection can usually appear in packets in any packet number space, whereas those associated with transferring data can only appear in the application data packet number space:
| |
| maskType | back to summary |
|---|---|
| private static int maskType(int type) depending on the frame type, additional bits can be encoded in frameType(). This masks them out to return a unique value for each frame type. | |
| putByteBuffer | back to summary |
|---|---|
| protected static void putByteBuffer(ByteBuffer dest, ByteBuffer src) Writes src to dest, preserving position in src | |
| requireVLRange | back to summary |
|---|---|
| protected static int requireVLRange(int val, String message) | |
| requireVLRange | back to summary |
|---|---|
| protected static long requireVLRange(long val, String fieldName) | |
| size | back to summary |
|---|---|
| public abstract int size() Returns the minimum number of bytes needed to encode this frame.
| |
| toString | back to summary |
|---|---|
| public String toString() Overrides java. Doc from java. Returns a string representation of the object.
Satisfying this method's contract implies a non-
| |
| validateRemainingLength | back to summary |
|---|---|
| protected static void validateRemainingLength(ByteBuffer buffer, int expected, long type) throws QuicTransportException Throws a QuicTransportException if the given buffer does not have enough bytes to finish decoding the frame
| |