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.
  • Constructor Details

    • Http2ConfigImpl

      protected Http2ConfigImpl(Http2Config.BuilderBase<?,?> builder)
      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 is 16384 and maximum value is 224-1 = 16777215 bytes. See RFC 9113 section 6.5.2 for details.
      Specified by:
      maxFrameSize in interface Http2Config
      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 interface Http2Config
      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 to 8192. 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 interface Http2Config
      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 interface Http2Config
      Returns:
      maximum window size in bytes
    • flowControlTimeout

      public Duration flowControlTimeout()
      Description copied from interface: Http2Config
      Outbound flow control blocking timeout configured as Duration or text in ISO-8601 format. Blocking timeout defines an interval to wait for the outbound window size changes(incoming window updates). Default value is PT15S.
      ISO_8601 format examples:
      PT0.1S100 milliseconds
      PT0.5S500 milliseconds
      PT2S2 seconds
      Specified by:
      flowControlTimeout in interface Http2Config
      Returns:
      duration
      See Also:
    • sendErrorDetails

      public boolean sendErrorDetails()
      Description copied from interface: Http2Config
      Whether to send error message over HTTP to client. Defaults to false, 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 interface Http2Config
      Returns:
      whether to send error messages over the network
    • rapidResetCheckPeriod

      public Duration 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 is PT10S.
      Specified by:
      rapidResetCheckPeriod in interface Http2Config
      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 within Http2Config.rapidResetCheckPeriod(), GOAWAY is sent to client and connection is closed. Default value is 50.
      Specified by:
      maxRapidResets in interface Http2Config
      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 interface Http2Config
      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 interface Http2Config
      Returns:
      whether to validate path
    • requestedUriDiscovery

      public RequestedUriDiscoveryContext requestedUriDiscovery()
      Description copied from interface: Http2Config
      Requested URI discovery settings.
      Specified by:
      requestedUriDiscovery in interface Http2Config
      Returns:
      settings for computing the requested URI
    • name

      public String name()
      Description copied from interface: NamedService
      Name of this implementation, as provided in ConfiguredProvider.create(Config, String).
      Specified by:
      name in interface Http2Config
      Specified by:
      name in interface NamedService
      Returns:
      name of this service
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • type

      default String type()
      Protocol configuration type.
      Specified by:
      type in interface NamedService
      Returns:
      type of this configuration