Module io.helidon.webclient.grpc
Package io.helidon.webclient.grpc
Interface GrpcClientProtocolConfig
- All Superinterfaces:
io.helidon.common.config.NamedService,io.helidon.webclient.spi.ProtocolConfig,io.helidon.builder.api.Prototype.Api
- All Known Implementing Classes:
GrpcClientProtocolConfig.BuilderBase.GrpcClientProtocolConfigImpl
public interface GrpcClientProtocolConfig
extends io.helidon.builder.api.Prototype.Api
Configuration of a gRPC client.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classFluent API builder forGrpcClientProtocolConfig.static classGrpcClientProtocolConfig.BuilderBase<BUILDER extends GrpcClientProtocolConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends GrpcClientProtocolConfig> Fluent API builder base forGrpcClientProtocolConfig. -
Method Summary
Modifier and TypeMethodDescriptionbooleanWhether to continue retrying after a poll wait timeout expired or not.builder()Create a new fluent API builder to customize configuration.builder(GrpcClientProtocolConfig instance) Create a new fluent API builder from an existing instance.static GrpcClientProtocolConfigcreate()Create a new instance with default values.static GrpcClientProtocolConfigcreate(io.helidon.common.config.Config config) Create a new instance from configuration.How often to send a heartbeat (HTTP/2 ping) to check if the connection is still alive.intInitial buffer size used to serialize gRPC request payloads.name()Name identifying this client protocol.How long to wait for the next HTTP/2 data frame to arrive in underlying stream.default Stringtype()Type identifying this protocol.
-
Method Details
-
builder
Create a new fluent API builder to customize configuration.- Returns:
- a new builder
-
builder
Create a new fluent API builder from an existing instance.- Parameters:
instance- an existing instance used as a base for the builder- Returns:
- a builder based on an instance
-
create
Create a new instance from configuration.- Parameters:
config- used to configure the new instance- Returns:
- a new instance configured from configuration
-
create
Create a new instance with default values.- Returns:
- a new instance
-
type
Type identifying this protocol.- Specified by:
typein interfaceio.helidon.common.config.NamedService- Returns:
- protocol type
-
name
String name()Name identifying this client protocol. Defaults to type.- Specified by:
namein interfaceio.helidon.common.config.NamedService- Returns:
- name of client protocol
-
pollWaitTime
Duration pollWaitTime()How long to wait for the next HTTP/2 data frame to arrive in underlying stream. Whether this is a fatal error or not is controlled byabortPollTimeExpired().- Returns:
- poll time as a duration
- See Also:
-
abortPollTimeExpired
boolean abortPollTimeExpired()Whether to continue retrying after a poll wait timeout expired or not. If a read operation timeouts out and this flag is set tofalse, the event is logged and the client will retry. Otherwise, an exception is thrown.- Returns:
- abort timeout flag
-
heartbeatPeriod
Duration heartbeatPeriod()How often to send a heartbeat (HTTP/2 ping) to check if the connection is still alive. This is useful for long-running, streaming gRPC calls. It is turned off by default but can be enabled by setting the period to a value greater than 0.- Returns:
- heartbeat period
-
initBufferSize
int initBufferSize()Initial buffer size used to serialize gRPC request payloads. Buffers shall grow according to the payload size, but setting this initial buffer size to a larger value may improve performance for certain applications.- Returns:
- initial buffer size
-