Class InstantiatingGrpcChannelProvider (2.53.0)

public final class InstantiatingGrpcChannelProvider implements TransportChannelProvider

InstantiatingGrpcChannelProvider is a TransportChannelProvider which constructs a gRPC ManagedChannel with a number of configured inputs every time getChannel(...) is called. These inputs include a port, a service address, and credentials.

The credentials can either be supplied directly (by providing a FixedCredentialsProvider to Builder.setCredentialsProvider()) or acquired implicitly from Application Default Credentials (by providing a GoogleCredentialsProvider to Builder.setCredentialsProvider()).

The client lib header and generator header values are used to form a value that goes into the http header of requests to the service.

Inheritance

java.lang.Object > InstantiatingGrpcChannelProvider

Static Methods

newBuilder()

public static InstantiatingGrpcChannelProvider.Builder newBuilder()
Returns
Type Description
InstantiatingGrpcChannelProvider.Builder

Methods

acceptsPoolSize() (deprecated)

public boolean acceptsPoolSize()

Deprecated. Please modify pool settings via #toBuilder()

Reports whether this provider allows pool size customization.

Returns
Type Description
boolean

canUseDirectPath()

public boolean canUseDirectPath()

Marked as Internal Api and intended for internal use. DirectPath must be enabled via the settings and a few other configurations/settings must also be valid for the request to go through DirectPath.

Checks: 1. Credentials are compatible 2.Running on Compute Engine 3. Universe Domain is configured to for the Google Default Universe

Returns
Type Description
boolean

if DirectPath is enabled for the client AND if the configurations are valid

getChannelPoolSettings()

public ChannelPoolSettings getChannelPoolSettings()

The configured channel pool settings used for gRPC's ChannelProvider

Returns
Type Description
ChannelPoolSettings

getEndpoint()

public String getEndpoint()

The endpoint to be used for the channel.

Returns
Type Description
String

getKeepAliveTime()

public Duration getKeepAliveTime()

This method is obsolete. Use #getKeepAliveTimeDuration() instead.

Returns
Type Description
org.threeten.bp.Duration

getKeepAliveTimeDuration()

public Duration getKeepAliveTimeDuration()

The time without read activity before sending a keepalive ping.

Returns
Type Description
Duration

getKeepAliveTimeout()

public Duration getKeepAliveTimeout()

This method is obsolete. Use #getKeepAliveTimeoutDuration() instead

Returns
Type Description
org.threeten.bp.Duration

getKeepAliveTimeoutDuration()

public Duration getKeepAliveTimeoutDuration()

The time without read activity after sending a keepalive ping.

Returns
Type Description
Duration

getKeepAliveWithoutCalls()

public Boolean getKeepAliveWithoutCalls()

Whether keepalive will be performed when there are no outstanding RPCs.

Returns
Type Description
Boolean

getMaxInboundMetadataSize()

public Integer getMaxInboundMetadataSize()

The maximum metadata size allowed to be received on the channel.

Returns
Type Description
Integer

getTransportChannel()

public TransportChannel getTransportChannel()

Provides a Transport, which could either be a new instance for every call, or the same instance, depending on the implementation.

If #needsExecutor() is true, then #withExecutor(Executor) needs to be called first to provide an executor.

If #needsHeaders() is true, then #withHeaders(Map) needs to be called first to provide headers.

if #needsEndpoint() is true, then #withEndpoint(String) needs to be called first to provide an endpoint.

Returns
Type Description
TransportChannel
Exceptions
Type Description
IOException

getTransportName()

public String getTransportName()

The name of the transport.

This string can be used for identifying transports for switching logic.

Returns
Type Description
String

isDirectPathXdsEnabled()

public boolean isDirectPathXdsEnabled()

This method tells if Direct Path xDS was enabled. There are two ways of enabling it: via environment variable (by setting GOOGLE_CLOUD_ENABLE_DIRECT_PATH_XDS=true) or when building this channel provider (via the Builder#setAttemptDirectPathXds() method).

Returns
Type Description
boolean

true if Direct Path xDS was either enabled via env var or via builder option

needsCredentials()

public boolean needsCredentials()

True if credentials are needed before channel creation.

Returns
Type Description
boolean

needsEndpoint()

public boolean needsEndpoint()

True if the TransportProvider has no endpoint set.

Returns
Type Description
boolean

needsExecutor() (deprecated)

public boolean needsExecutor()

Deprecated. If executor is not set, this channel provider will create channels with default grpc executor.

True if the TransportProvider needs an executor.

Returns
Type Description
boolean

needsHeaders()

public boolean needsHeaders()

True if the TransportProvider has no headers provided.

Returns
Type Description
boolean

shouldAutoClose()

public boolean shouldAutoClose()

Indicates whether the TransportChannel should be closed by the containing client class.

Returns
Type Description
boolean

toBuilder()

public InstantiatingGrpcChannelProvider.Builder toBuilder()
Returns
Type Description
InstantiatingGrpcChannelProvider.Builder

withCredentials(Credentials credentials)

public TransportChannelProvider withCredentials(Credentials credentials)

Sets the credentials that will be applied before channel creation.

Parameter
Name Description
credentials com.google.auth.Credentials
Returns
Type Description
TransportChannelProvider

withEndpoint(String endpoint)

public TransportChannelProvider withEndpoint(String endpoint)

Specify the endpoint the channel should connect to.

The value of endpoint must be of the form host:port.

Parameter
Name Description
endpoint String

The endpoint to connect to

Returns
Type Description
TransportChannelProvider

A new InstantiatingGrpcChannelProvider with the specified endpoint configured

withExecutor(Executor executor)

public TransportChannelProvider withExecutor(Executor executor)

Sets the executor to use when constructing a new TransportChannel.

Parameter
Name Description
executor Executor
Returns
Type Description
TransportChannelProvider

withExecutor(ScheduledExecutorService executor) (deprecated)

public TransportChannelProvider withExecutor(ScheduledExecutorService executor)
Parameter
Name Description
executor ScheduledExecutorService
Returns
Type Description
TransportChannelProvider

withHeaders(Map<String,String> headers)

public TransportChannelProvider withHeaders(Map<String,String> headers)

Sets the headers to use when constructing a new TransportChannel.

This method should only be called if #needsHeaders() returns true.

Parameter
Name Description
headers Map<String,String>
Returns
Type Description
TransportChannelProvider

withPoolSize(int size) (deprecated)

public TransportChannelProvider withPoolSize(int size)

Deprecated. Please modify pool settings via #toBuilder()

Number of underlying transport channels to open. Calls will be load balanced across them.

Parameter
Name Description
size int
Returns
Type Description
TransportChannelProvider