Interface Http2ServerSettings

All Known Subinterfaces:
Http2ServerSettings
All Known Implementing Classes:
Http2ServerSettings.Http2ServerSettingsImpl

public interface Http2ServerSettings
  • Method Details

    • getRequestEntityChunkSize

      int getRequestEntityChunkSize()
    • withRequestEntityChunkSize

      Http2ServerSettings withRequestEntityChunkSize(int newRequestEntityChunkSize)
    • getIncomingConnectionLevelBufferSize

      int getIncomingConnectionLevelBufferSize()
    • withIncomingConnectionLevelBufferSize

      Http2ServerSettings withIncomingConnectionLevelBufferSize(int newIncomingConnectionLevelBufferSize)
    • getIncomingStreamLevelBufferSize

      int getIncomingStreamLevelBufferSize()
    • withIncomingStreamLevelBufferSize

      Http2ServerSettings withIncomingStreamLevelBufferSize(int newIncomingStreamLevelBufferSize)
    • minCollectStrictEntitySize

      int minCollectStrictEntitySize()
    • withMinCollectStrictEntitySize

      Http2ServerSettings withMinCollectStrictEntitySize(int newValue)
    • getMaxConcurrentStreams

      int getMaxConcurrentStreams()
    • withMaxConcurrentStreams

      Http2ServerSettings withMaxConcurrentStreams(int newValue)
    • getMaxHeaderListSize

      int getMaxHeaderListSize()
      The maximum size of a decoded header list that this endpoint is prepared to accept, in bytes. The value is advertised to the peer via SETTINGS_MAX_HEADER_LIST_SIZE and the same limit is applied to the accumulated header block fragments of a HEADERS frame and its CONTINUATION frames.

      Returns:
      (undocumented)
      Since:
      1.4.1
    • withMaxHeaderListSize

      Http2ServerSettings withMaxHeaderListSize(int newValue)
      Parameters:
      newValue - (undocumented)
      Returns:
      (undocumented)
      Since:
      1.4.1
    • getMaxFrameSize

      int getMaxFrameSize()
      The largest frame payload this endpoint accepts, in bytes. A larger incoming frame is rejected with a FRAME_SIZE_ERROR on its frame header, before the payload is buffered. No larger SETTINGS_MAX_FRAME_SIZE is advertised, so a peer that follows the spec keeps to the 16 KiB default and the extra room is leniency for peers that do not. RFC 9113, section 4.2 constrains it to be between 16 KiB and 16 MiB - 1.

      Returns:
      (undocumented)
      Since:
      2.0.0
    • withMaxFrameSize

      Http2ServerSettings withMaxFrameSize(int newValue)
      Parameters:
      newValue - (undocumented)
      Returns:
      (undocumented)
      Since:
      2.0.0
    • getOutgoingControlFrameBufferSize

      int getOutgoingControlFrameBufferSize()
    • withOutgoingControlFrameBufferSize

      Http2ServerSettings withOutgoingControlFrameBufferSize(int newValue)
    • logFrames

      boolean logFrames()
    • withLogFrames

      Http2ServerSettings withLogFrames(boolean shouldLog)
    • getPingInterval

      Duration getPingInterval()
    • withPingInterval

      Http2ServerSettings withPingInterval(Duration interval)
    • getPingTimeout

      Duration getPingTimeout()
    • withPingTimeout

      Http2ServerSettings withPingTimeout(Duration timeout)
    • getMaxConnectionAge

      Duration getMaxConnectionAge()
      The maximum time a connection is kept open before the server closes it gracefully. When the age of a connection exceeds this value, the server sends a GOAWAY frame, lets requests that are already in flight complete within getMaxConnectionAgeGrace(), and then closes the connection. If the connection is already being terminated when its age expires, for example because the server binding is being terminated, the expiry has no effect and the termination in progress keeps its own deadline. The value ChronoUnit.FOREVER.getDuration represents an infinite age, which disables this mechanism and is the default.

      Returns:
      (undocumented)
      Since:
      2.0.0
    • withMaxConnectionAge

      Http2ServerSettings withMaxConnectionAge(Duration age)
      Pass ChronoUnit.FOREVER.getDuration to disable the maximum connection age.

      Parameters:
      age - (undocumented)
      Returns:
      (undocumented)
      Since:
      2.0.0
    • getMaxConnectionAgeGrace

      Duration getMaxConnectionAgeGrace()
      The time that requests in flight are given to complete after a connection reached the maximum connection age and the GOAWAY frame was sent. When the grace period expires, the connection is closed even if requests are still in flight. The value ChronoUnit.FOREVER.getDuration represents an infinite grace period, which disables the limit, so that the connection is closed only once all requests in flight have completed.

      Returns:
      (undocumented)
      Since:
      2.0.0
    • withMaxConnectionAgeGrace

      Http2ServerSettings withMaxConnectionAgeGrace(Duration grace)
      Pass ChronoUnit.FOREVER.getDuration for an infinite grace period.

      Parameters:
      grace - (undocumented)
      Returns:
      (undocumented)
      Since:
      2.0.0
    • getMaxConnectionAgeJitter

      double getMaxConnectionAgeJitter()
      The jitter applied to the maximum connection age per connection, as a fraction of the configured age: with the default of 0.1 each connection is closed after between 90% and 110% of the configured age, so that connections that were opened together are not all closed at the same time. 0 disables jitter.

      Returns:
      (undocumented)
      Since:
      2.0.0
    • withMaxConnectionAgeJitter

      Http2ServerSettings withMaxConnectionAgeJitter(double jitter)
      Parameters:
      jitter - (undocumented)
      Returns:
      (undocumented)
      Since:
      2.0.0
    • getFrameTypeThrottleFrameTypes

      Set<String> getFrameTypeThrottleFrameTypes()
    • getFrameTypeThrottleCost

      int getFrameTypeThrottleCost()
    • getFrameTypeThrottleBurst

      int getFrameTypeThrottleBurst()
    • getFrameTypeThrottleInterval

      Duration getFrameTypeThrottleInterval()
    • withFrameTypeThrottleInterval

      Http2ServerSettings withFrameTypeThrottleInterval(Duration interval)