Package io.deephaven.util.grpc
Class ManagedChannelFactory
java.lang.Object
io.deephaven.util.grpc.ManagedChannelFactory
Creates a
ManagedChannel
for Deephaven gRPC services.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void
checkCertificateExpiry
(com.fishlib.io.logger.Logger log, int thresholdDays, KeyStore keyStore, String label, Consumer<String> expirationWarningConsumer) static io.deephaven.shadow.core.io.grpc.ManagedChannel
forClient
(com.fishlib.io.logger.Logger log, DhService dhService, io.deephaven.enterprise.resolver.EtcdResolverContext.Builder etcdResolverContextBuilder) Build a managed channel for the specified service, using aDeephavenNameResolver
to find the target addresses and ports via etcd client.static io.deephaven.shadow.core.io.grpc.ManagedChannel
forClient
(com.fishlib.io.logger.Logger log, DhService dhService, io.deephaven.enterprise.resolver.HttpResolverContext.Builder httpResolverContextBuilder) Build a managed channel for the specified service, using aDeephavenNameResolver
to find the target addresses and ports via HTTP.static io.deephaven.shadow.core.io.grpc.ManagedChannel
Build a managed channel for the specified service.static io.deephaven.shadow.core.io.grpc.ManagedChannel
forClient
(com.fishlib.io.logger.Logger log, String serviceName, InetAddress addr, int port) Build a managed channel for the specified service.static io.deephaven.shadow.core.io.netty.handler.ssl.SslContext
getServerSslContext
(com.fishlib.io.logger.Logger log, Consumer<String> expirationWarningConsumer) static io.deephaven.enterprise.resolver.EtcdResolverContext.Builder
makeEtcdResolverContextBuilderFor
(com.fishlib.io.logger.Logger log, io.deephaven.shadow.jetcd.io.etcd.jetcd.Client etcdClient) static io.deephaven.enterprise.resolver.HttpResolverContext.Builder
makeHttpResolverContextBuilderFor
(com.fishlib.io.logger.Logger log, String resolverUrl) static <T extends io.deephaven.enterprise.resolver.ResolverContext.BuilderCommon<T>>
TsetAuthorityValuesFromProperties
(com.fishlib.configuration.Configuration configuration, DhService dhService, T ctxBuilder) Configure authority overrides for name resolution if properties for them exist.
-
Field Details
-
CHANNEL_OVERRIDE_AUTHORITY_PROP
- See Also:
-
NAME_RESOLVER_OVERRIDE_AUTHORITY_PROP
- See Also:
-
NAME_RESOLVER_ATTR_AUTHORITY_OVERRIDE_TO_HOST_PROP
- See Also:
-
-
Constructor Details
-
ManagedChannelFactory
public ManagedChannelFactory()
-
-
Method Details
-
forClient
@NotNull public static io.deephaven.shadow.core.io.grpc.ManagedChannel forClient(com.fishlib.io.logger.Logger log, @NotNull String serviceName, InetAddress addr, int port) Build a managed channel for the specified service.- Parameters:
log
- a logger to useserviceName
- the service name; used as a prefix for properties and for loggingaddr
- server addressport
- port- Returns:
- a new
ManagedChannel
-
forClient
@NotNull public static io.deephaven.shadow.core.io.grpc.ManagedChannel forClient(@NotNull com.fishlib.io.logger.Logger log, @NotNull String serviceName, int port, String... hosts) Build a managed channel for the specified service.- Parameters:
log
- the logger to useserviceName
- the name of the service (eg, "PersistentQueryController")port
- porthosts
- server hosts- Returns:
- a new
ManagedChannel
-
setAuthorityValuesFromProperties
@NotNull public static <T extends io.deephaven.enterprise.resolver.ResolverContext.BuilderCommon<T>> T setAuthorityValuesFromProperties(@NotNull com.fishlib.configuration.Configuration configuration, @NotNull DhService dhService, @NotNull T ctxBuilder) Configure authority overrides for name resolution if properties for them exist.- Parameters:
configuration
- the configuration to check for service name overridedhService
- provides service namectxBuilder
- the context to potentially set logic on- Returns:
- the context to potentially set logic on
-
forClient
@NotNull public static io.deephaven.shadow.core.io.grpc.ManagedChannel forClient(@NotNull com.fishlib.io.logger.Logger log, DhService dhService, @NotNull io.deephaven.enterprise.resolver.EtcdResolverContext.Builder etcdResolverContextBuilder) Build a managed channel for the specified service, using aDeephavenNameResolver
to find the target addresses and ports via etcd client.- Parameters:
log
- the logger to usedhService
- the service that the channel will connect to.etcdResolverContextBuilder
- the resolver context builder, specifying attributes for name resolution (eg, the etcd client to use).- Returns:
- a new
ManagedChannel
-
forClient
@NotNull public static io.deephaven.shadow.core.io.grpc.ManagedChannel forClient(@NotNull com.fishlib.io.logger.Logger log, DhService dhService, @NotNull io.deephaven.enterprise.resolver.HttpResolverContext.Builder httpResolverContextBuilder) Build a managed channel for the specified service, using aDeephavenNameResolver
to find the target addresses and ports via HTTP.- Parameters:
log
- the logger to usedhService
- the service that the channel will connect to.httpResolverContextBuilder
- the resolver context builder, specifying attributes for name resolution (eg, the target URL to use).- Returns:
- a new
ManagedChannel
-
getServerSslContext
-
checkCertificateExpiry
-
makeEtcdResolverContextBuilderFor
public static io.deephaven.enterprise.resolver.EtcdResolverContext.Builder makeEtcdResolverContextBuilderFor(@NotNull com.fishlib.io.logger.Logger log, io.deephaven.shadow.jetcd.io.etcd.jetcd.Client etcdClient) -
makeHttpResolverContextBuilderFor
public static io.deephaven.enterprise.resolver.HttpResolverContext.Builder makeHttpResolverContextBuilderFor(@NotNull com.fishlib.io.logger.Logger log, String resolverUrl)
-