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
ConstructorsModifierConstructorDescriptionprotected
Create an instance providing a builder. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Timeout for blocking while waiting for window update when window is depleted.int
hashCode()
int
Configure INITIAL_WINDOW_SIZE setting for new HTTP/2 connections.int
Configure initial MAX_FRAME_SIZE setting for new HTTP/2 connections.long
Configure initial MAX_HEADER_LIST_SIZE setting for new HTTP/2 connections.name()
Name of this implementation, as provided inConfiguredProvider.create(Config, String)
.boolean
ping()
Check healthiness of cached connections with HTTP/2.0 ping frame.Timeout for ping probe used for checking healthiness of cached connections.boolean
Prior knowledge of HTTP/2 capabilities of the server.toString()
default String
type()
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:NamedService
Name of this implementation, as provided inConfiguredProvider.create(Config, String)
.- Specified by:
name
in interfaceHttp2ClientProtocolConfig
- Specified by:
name
in interfaceNamedService
- Returns:
- name of this service
-
priorKnowledge
public boolean priorKnowledge()Description copied from interface:Http2ClientProtocolConfig
Prior 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:
priorKnowledge
in interfaceHttp2ClientProtocolConfig
- Returns:
- whether to use prior knowledge of HTTP/2
-
maxFrameSize
public int maxFrameSize()Description copied from interface:Http2ClientProtocolConfig
Configure 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:
maxFrameSize
in 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:Http2ClientProtocolConfig
Configure 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:
maxHeaderListSize
in interfaceHttp2ClientProtocolConfig
- Returns:
- units of octets
-
initialWindowSize
public int initialWindowSize()Description copied from interface:Http2ClientProtocolConfig
Configure 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:
initialWindowSize
in interfaceHttp2ClientProtocolConfig
- Returns:
- units of octets
-
flowControlBlockTimeout
Description copied from interface:Http2ClientProtocolConfig
Timeout for blocking while waiting for window update when window is depleted.- Specified by:
flowControlBlockTimeout
in interfaceHttp2ClientProtocolConfig
- Returns:
- timeout
-
ping
public boolean ping()Description copied from interface:Http2ClientProtocolConfig
Check healthiness of cached connections with HTTP/2.0 ping frame. Defaults tofalse
.- Specified by:
ping
in interfaceHttp2ClientProtocolConfig
- Returns:
- use ping if true
-
pingTimeout
Description copied from interface:Http2ClientProtocolConfig
Timeout for ping probe used for checking healthiness of cached connections. Defaults toPT0.5S
, which means 500 milliseconds.- Specified by:
pingTimeout
in interfaceHttp2ClientProtocolConfig
- Returns:
- timeout
-
toString
-
equals
-
hashCode
public int hashCode() -
type
Description copied from interface:NamedService
Type of this implementation, to distinguish instances of same type, with differentNamedService.name()
. Use for exampleConfiguredProvider.configKey()
to define the type.- Specified by:
type
in interfaceNamedService
- Returns:
- type of this service
-