Module io.helidon.webclient.http2
Package io.helidon.webclient.http2
Class Http2ClientProtocolConfig.BuilderBase.Http2ClientProtocolConfigImpl
java.lang.Object
io.helidon.webclient.http2.Http2ClientProtocolConfig.BuilderBase.Http2ClientProtocolConfigImpl
- All Implemented Interfaces:
Prototype.Api,NamedService,Http2ClientProtocolConfig,ProtocolConfig
- Enclosing class:
Http2ClientProtocolConfig.BuilderBase<BUILDER extends Http2ClientProtocolConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends Http2ClientProtocolConfig>
protected static class Http2ClientProtocolConfig.BuilderBase.Http2ClientProtocolConfigImpl
extends Object
implements Http2ClientProtocolConfig
Generated implementation of the prototype, can be extended by descendant prototype implementations.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.helidon.webclient.http2.Http2ClientProtocolConfig
Http2ClientProtocolConfig.Builder, Http2ClientProtocolConfig.BuilderBase<BUILDER extends Http2ClientProtocolConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends Http2ClientProtocolConfig> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCreate an instance providing a builder. -
Method Summary
Modifier and TypeMethodDescriptionbooleanTimeout for blocking while waiting for window update when window is depleted.inthashCode()intConfigure INITIAL_WINDOW_SIZE setting for new HTTP/2 connections.intConfigure initial MAX_FRAME_SIZE setting for new HTTP/2 connections.longConfigure initial MAX_HEADER_LIST_SIZE setting for new HTTP/2 connections.name()Name of this implementation, as provided inConfiguredProvider.create(Config, String).booleanping()Check healthiness of cached connections with HTTP/2.0 ping frame.Timeout for ping probe used for checking healthiness of cached connections.booleanPrior knowledge of HTTP/2 capabilities of the server.toString()default Stringtype()Type of this implementation, to distinguish instances of same type, with differentNamedService.name().
-
Constructor Details
-
Http2ClientProtocolConfigImpl
Create an instance providing a builder.- Parameters:
builder- extending builder base of this prototype
-
-
Method Details
-
name
Description copied from interface:NamedServiceName of this implementation, as provided inConfiguredProvider.create(Config, String).- Specified by:
namein interfaceHttp2ClientProtocolConfig- Specified by:
namein interfaceNamedService- Returns:
- name of this service
-
priorKnowledge
public boolean priorKnowledge()Description copied from interface:Http2ClientProtocolConfigPrior knowledge of HTTP/2 capabilities of the server. If server we are connecting to does not support HTTP/2 and prior knowledge is set tofalse, only features supported by HTTP/1 will be available and attempts to use HTTP/2 specific will throw anUnsupportedOperationException.Plain text connection
If prior knowledge is set totrue, we will not attempt an upgrade of connection and use prior knowledge. If prior knowledge is set tofalse, we will initiate an HTTP/1 connection and upgrade it to HTTP/2, if supported by the server. plaintext connection (h2c).TLS protected connection
If prior knowledge is set totrue, we will negotiate protocol using HTTP/2 only, failing if not supported. if prior knowledge is set tofalse, we will negotiate protocol using both HTTP/2 and HTTP/1, using the protocol supported by server.- Specified by:
priorKnowledgein interfaceHttp2ClientProtocolConfig- Returns:
- whether to use prior knowledge of HTTP/2
-
maxFrameSize
public int maxFrameSize()Description copied from interface:Http2ClientProtocolConfigConfigure initial MAX_FRAME_SIZE setting for new HTTP/2 connections. Maximum size of data frames in bytes the client is prepared to accept from the server. Default value is 2^14(16_384).- Specified by:
maxFrameSizein interfaceHttp2ClientProtocolConfig- Returns:
- data frame size in bytes between 2^14(16_384) and 2^24-1(16_777_215)
-
maxHeaderListSize
public long maxHeaderListSize()Description copied from interface:Http2ClientProtocolConfigConfigure initial MAX_HEADER_LIST_SIZE setting for new HTTP/2 connections. Sends to the server the maximum header field section size client is prepared to accept. Defaults to-1, which means "unconfigured".- Specified by:
maxHeaderListSizein interfaceHttp2ClientProtocolConfig- Returns:
- units of octets
-
initialWindowSize
public int initialWindowSize()Description copied from interface:Http2ClientProtocolConfigConfigure INITIAL_WINDOW_SIZE setting for new HTTP/2 connections. Sends to the server the size of the largest frame payload client is willing to receive. Defaults to 65535.- Specified by:
initialWindowSizein interfaceHttp2ClientProtocolConfig- Returns:
- units of octets
-
flowControlBlockTimeout
Description copied from interface:Http2ClientProtocolConfigTimeout for blocking while waiting for window update when window is depleted.- Specified by:
flowControlBlockTimeoutin interfaceHttp2ClientProtocolConfig- Returns:
- timeout
-
ping
public boolean ping()Description copied from interface:Http2ClientProtocolConfigCheck healthiness of cached connections with HTTP/2.0 ping frame. Defaults tofalse.- Specified by:
pingin interfaceHttp2ClientProtocolConfig- Returns:
- use ping if true
-
pingTimeout
Description copied from interface:Http2ClientProtocolConfigTimeout for ping probe used for checking healthiness of cached connections. Defaults toPT0.5S, which means 500 milliseconds.- Specified by:
pingTimeoutin interfaceHttp2ClientProtocolConfig- Returns:
- timeout
-
toString
-
equals
-
hashCode
public int hashCode() -
type
Description copied from interface:NamedServiceType of this implementation, to distinguish instances of same type, with differentNamedService.name(). Use for exampleConfiguredProvider.configKey()to define the type.- Specified by:
typein interfaceNamedService- Returns:
- type of this service
-