Module io.helidon.webserver.http2
Package io.helidon.webserver.http2
Class Http2Config.BuilderBase.Http2ConfigImpl
java.lang.Object
io.helidon.webserver.http2.Http2Config.BuilderBase.Http2ConfigImpl
- All Implemented Interfaces:
Prototype.Api
,NamedService
,Http2Config
,ProtocolConfig
- Enclosing class:
Http2Config.BuilderBase<BUILDER extends Http2Config.BuilderBase<BUILDER,
PROTOTYPE>, PROTOTYPE extends Http2Config>
protected static class Http2Config.BuilderBase.Http2ConfigImpl
extends Object
implements Http2Config
Generated implementation of the prototype, can be extended by descendant prototype implementations.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.helidon.webserver.http2.Http2Config
Http2Config.Builder, Http2Config.BuilderBase<BUILDER extends Http2Config.BuilderBase<BUILDER,
PROTOTYPE>, PROTOTYPE extends Http2Config> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Http2ConfigImpl
(Http2Config.BuilderBase<?, ?> builder) Create an instance providing a builder. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Outbound flow control blocking timeout configured asDuration
or text in ISO-8601 format.int
hashCode()
int
This setting indicates the sender's maximum window size in bytes for stream-level flow control.long
Maximum number of concurrent streams that the server will allow.int
Maximum number of consecutive empty frames allowed on connection.int
The size of the largest frame payload that the sender is willing to receive in bytes.long
The maximum field section size that the sender is prepared to accept in bytes.int
Maximum number of rapid resets(stream RST sent by client before any data have been sent by server).name()
Name of this implementation, as provided inConfiguredProvider.create(Config, String)
.Period for counting rapid resets(stream RST sent by client before any data have been sent by server).Requested URI discovery settings.boolean
Whether to send error message over HTTP to client.toString()
default String
type()
Protocol configuration type.boolean
If set to false, any path is accepted (even containing illegal characters).
-
Constructor Details
-
Http2ConfigImpl
Create an instance providing a builder.- Parameters:
builder
- extending builder base of this prototype
-
-
Method Details
-
maxFrameSize
public int maxFrameSize()Description copied from interface:Http2Config
The size of the largest frame payload that the sender is willing to receive in bytes. Default value is16384
and maximum value is 224-1 = 16777215 bytes. See RFC 9113 section 6.5.2 for details.- Specified by:
maxFrameSize
in interfaceHttp2Config
- Returns:
- maximal frame size
-
maxHeaderListSize
public long maxHeaderListSize()Description copied from interface:Http2Config
The maximum field section size that the sender is prepared to accept in bytes. See RFC 9113 section 6.5.2 for details. Default is 8192.- Specified by:
maxHeaderListSize
in interfaceHttp2Config
- Returns:
- maximal header list size in bytes
-
maxConcurrentStreams
public long maxConcurrentStreams()Description copied from interface:Http2Config
Maximum number of concurrent streams that the server will allow. Defaults to8192
. This limit is directional: it applies to the number of streams that the sender permits the receiver to create. It is recommended that this value be no smaller than 100 to not unnecessarily limit parallelism See RFC 9113 section 6.5.2 for details.- Specified by:
maxConcurrentStreams
in interfaceHttp2Config
- Returns:
- maximal number of concurrent streams
-
initialWindowSize
public int initialWindowSize()Description copied from interface:Http2Config
This setting indicates the sender's maximum window size in bytes for stream-level flow control. Default and maximum value is 231-1 = 2147483647 bytes. This setting affects the window size of HTTP/2 connection. Any value greater than 2147483647 causes an error. Any value smaller than initial window size causes an error. See RFC 9113 section 6.9.1 for details.- Specified by:
initialWindowSize
in interfaceHttp2Config
- Returns:
- maximum window size in bytes
-
flowControlTimeout
Description copied from interface:Http2Config
Outbound flow control blocking timeout configured asDuration
or text in ISO-8601 format. Blocking timeout defines an interval to wait for the outbound window size changes(incoming window updates). Default value isPT15S
.ISO_8601 format examples: PT0.1S 100 milliseconds PT0.5S 500 milliseconds PT2S 2 seconds - Specified by:
flowControlTimeout
in interfaceHttp2Config
- Returns:
- duration
- See Also:
-
sendErrorDetails
public boolean sendErrorDetails()Description copied from interface:Http2Config
Whether to send error message over HTTP to client. Defaults tofalse
, as exception message may contain internal information that could be used as an attack vector. Use with care and in cases where both server and clients are under your full control (such as for testing).- Specified by:
sendErrorDetails
in interfaceHttp2Config
- Returns:
- whether to send error messages over the network
-
rapidResetCheckPeriod
Description copied from interface:Http2Config
Period for counting rapid resets(stream RST sent by client before any data have been sent by server). Default value isPT10S
.- Specified by:
rapidResetCheckPeriod
in interfaceHttp2Config
- Returns:
- duration
- See Also:
-
maxRapidResets
public int maxRapidResets()Description copied from interface:Http2Config
Maximum number of rapid resets(stream RST sent by client before any data have been sent by server). When reached withinHttp2Config.rapidResetCheckPeriod()
, GOAWAY is sent to client and connection is closed. Default value is50
.- Specified by:
maxRapidResets
in interfaceHttp2Config
- Returns:
- maximum number of rapid resets
-
maxEmptyFrames
public int maxEmptyFrames()Description copied from interface:Http2Config
Maximum number of consecutive empty frames allowed on connection.- Specified by:
maxEmptyFrames
in interfaceHttp2Config
- Returns:
- max number of consecutive empty frames
-
validatePath
public boolean validatePath()Description copied from interface:Http2Config
If set to false, any path is accepted (even containing illegal characters).- Specified by:
validatePath
in interfaceHttp2Config
- Returns:
- whether to validate path
-
requestedUriDiscovery
Description copied from interface:Http2Config
Requested URI discovery settings.- Specified by:
requestedUriDiscovery
in interfaceHttp2Config
- Returns:
- settings for computing the requested URI
-
name
Description copied from interface:NamedService
Name of this implementation, as provided inConfiguredProvider.create(Config, String)
.- Specified by:
name
in interfaceHttp2Config
- Specified by:
name
in interfaceNamedService
- Returns:
- name of this service
-
toString
-
equals
-
hashCode
public int hashCode() -
type
Protocol configuration type.- Specified by:
type
in interfaceNamedService
- Returns:
- type of this configuration
-