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

pack-priv abstract Class H3FrameOrderVerifier

extends Object
Class Inheritance
Known Direct Subclasses
jdk.internal.net.http.H3FrameOrderVerifier.ControlStreamVerifier, jdk.internal.net.http.H3FrameOrderVerifier.ResponseStreamVerifier
Imports
jdk.internal.net.http.http3.frames.DataFrame, .HeadersFrame, .Http3Frame, .Http3FrameType, .MalformedFrame, .PushPromiseFrame, .SettingsFrame, .UnknownFrame

Verifies that when a HTTP3 frame arrives on a stream, then that particular frame type is in the expected order as compared to the previous frame type that was received. In effect, does what the RFC-9114, section 4.1 and section 6.2.1 specifies. Note that the H3FrameOrderVerifier is only responsible for checking the order in which a frame type is received on a stream. It isn't responsible for checking if that particular frame type is expected to be received on a particular stream type.

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
private static class

Field Summary

Modifier and TypeField and Description
pack-priv long
pack-priv long

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
pack-priv abstract boolean
allowsProcessing(final Http3Frame
The frame that has been received Returns true if the frameType processing can start. false otherwise.
frame
)

Returns: true if the frameType processing can start.

pack-priv void
completed(final Http3Frame
The frame whose content was fully received
frame
)

Marks the receipt of complete content of a frame that was currently being processed

pack-priv static H3FrameOrderVerifier

Returns:

a frame order verifier for HTTP3 control stream
newForControlStream
()

Returns a frame order verifier for HTTP3 control stream.

pack-priv static H3FrameOrderVerifier

Returns:

a frame order verifier for HTTP3 push promise stream
newForPushPromiseStream
()

Returns a frame order verifier for HTTP3 push promise stream.

pack-priv static H3FrameOrderVerifier

Returns:

a frame order verifier for HTTP3 request/response stream
newForRequestResponseStream
()

Returns a frame order verifier for HTTP3 request/response stream.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

currentProcessingFrameTypeback to summary
pack-priv long currentProcessingFrameType
lastCompletedFrameTypeback to summary
pack-priv long lastCompletedFrameType

Constructor Detail

H3FrameOrderVerifierback to summary
pack-priv H3FrameOrderVerifier()

Method Detail

allowsProcessingback to summary
pack-priv abstract boolean allowsProcessing(final Http3Frame frame)
Parameters
frame:Http3Frame

The frame that has been received Returns true if the frameType processing can start. false otherwise.

Returns:boolean

true if the frameType processing can start. false otherwise

completedback to summary
pack-priv void completed(final Http3Frame frame)

Marks the receipt of complete content of a frame that was currently being processed

Parameters
frame:Http3Frame

The frame whose content was fully received

Exceptions
IllegalStateException:
If the passed frame type wasn't being currently processed
newForControlStreamback to summary
pack-priv static H3FrameOrderVerifier newForControlStream()

Returns a frame order verifier for HTTP3 control stream.

Returns:H3FrameOrderVerifier

a frame order verifier for HTTP3 control stream

newForPushPromiseStreamback to summary
pack-priv static H3FrameOrderVerifier newForPushPromiseStream()

Returns a frame order verifier for HTTP3 push promise stream.

Returns:H3FrameOrderVerifier

a frame order verifier for HTTP3 push promise stream

newForRequestResponseStreamback to summary
pack-priv static H3FrameOrderVerifier newForRequestResponseStream()

Returns a frame order verifier for HTTP3 request/response stream.

Returns:H3FrameOrderVerifier

a frame order verifier for HTTP3 request/response stream

jdk.internal.net.http back to summary

private final Class H3FrameOrderVerifier.ControlStreamVerifier

extends H3FrameOrderVerifier
Class Inheritance

Field Summary

Inherited from jdk.internal.net.http.H3FrameOrderVerifier:
currentProcessingFrameTypelastCompletedFrameType

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
pack-priv boolean
Inherited from jdk.internal.net.http.H3FrameOrderVerifier:
completednewForControlStreamnewForPushPromiseStreamnewForRequestResponseStream

Constructor Detail

ControlStreamVerifierback to summary
private ControlStreamVerifier()

Method Detail

allowsProcessingback to summary
pack-priv boolean allowsProcessing(final Http3Frame frame)

Implements abstract jdk.internal.net.http.H3FrameOrderVerifier.allowsProcessing.

Annotations
@Override
jdk.internal.net.http back to summary

private final Class H3FrameOrderVerifier.ResponseStreamVerifier

extends H3FrameOrderVerifier
Class Inheritance

Field Summary

Modifier and TypeField and Description
private boolean
private boolean
private final boolean
private boolean
Inherited from jdk.internal.net.http.H3FrameOrderVerifier:
currentProcessingFrameTypelastCompletedFrameType

Constructor Summary

AccessConstructor and Description
private
ResponseStreamVerifier(boolean pushStream)

Method Summary

Modifier and TypeMethod and Description
pack-priv boolean
Inherited from jdk.internal.net.http.H3FrameOrderVerifier:
completednewForControlStreamnewForPushPromiseStreamnewForRequestResponseStream

Field Detail

dataSeenback to summary
private boolean dataSeen
headerSeenback to summary
private boolean headerSeen
pushStreamback to summary
private final boolean pushStream
trailerCompletedback to summary
private boolean trailerCompleted

Constructor Detail

ResponseStreamVerifierback to summary
private ResponseStreamVerifier(boolean pushStream)

Method Detail

allowsProcessingback to summary
pack-priv boolean allowsProcessing(final Http3Frame frame)

Implements abstract jdk.internal.net.http.H3FrameOrderVerifier.allowsProcessing.

Annotations
@Override