Class DefaultGrpcChannelDependencies

  • All Implemented Interfaces:
    com.tangosol.net.grpc.GrpcChannelDependencies

    public class DefaultGrpcChannelDependencies
    extends Object
    implements com.tangosol.net.grpc.GrpcChannelDependencies
    A default implementation of GrpcChannelDependencies.
    Since:
    22.06.2
    Author:
    Jonathan Knight 2022.08.25
    • Constructor Detail

      • DefaultGrpcChannelDependencies

        public DefaultGrpcChannelDependencies()
    • Method Detail

      • getChannelProvider

        public Optional<ChannelProvider> getChannelProvider()
        Returns the optional ChannelProvider to use to create a Channel.
        Specified by:
        getChannelProvider in interface com.tangosol.net.grpc.GrpcChannelDependencies
        Returns:
        the optional ChannelProvider to use to create a Channel
      • setChannelProvider

        @Injectable("instance")
        public void setChannelProvider​(com.tangosol.coherence.config.builder.ParameterizedBuilder<ChannelProvider> bldr)
        Set the ParameterizedBuilder that builds a ChannelProvider.
        Parameters:
        bldr - the ParameterizedBuilder that builds a ChannelProvider
      • setTarget

        @Injectable
        public void setTarget​(String sTarget)
        Set the value to be used when creating a ManagedChannelBuilder for a target URI.
        Parameters:
        sTarget - the value to be used when calling ManagedChannelBuilder.forTarget(String)
      • getTarget

        public String getTarget()
        Specified by:
        getTarget in interface com.tangosol.net.grpc.GrpcChannelDependencies
      • isNameServiceAddressProvider

        public boolean isNameServiceAddressProvider()
        Returns whether the configured AddressProvider is for a NameService lookup.
        Specified by:
        isNameServiceAddressProvider in interface com.tangosol.net.grpc.GrpcChannelDependencies
        Returns:
        true if the configured AddressProvider is for a NameService lookup, or false if the addresses are for a gRPC proxy.
      • setNameServiceAddressProviderBuilder

        @Injectable("name-service-addresses")
        public void setNameServiceAddressProviderBuilder​(com.tangosol.coherence.config.builder.AddressProviderBuilder bldr)
        Sets the remote AddressProvider is for connections to a NameService. (set to null to disable)

        After calling this method, isNameServiceAddressProvider() will return true (assuming a non-null value was provided).

        Parameters:
        bldr - the AddressProvider builder for the NameService
      • setRemoteAddressProviderBuilder

        @Injectable("remote-addresses")
        public void setRemoteAddressProviderBuilder​(com.tangosol.coherence.config.builder.AddressProviderBuilder bldr)
        Set the remote AddressProvider builder.

        After calling this method, isNameServiceAddressProvider() will return false.

        Parameters:
        bldr - the remote AddressProvider builder
      • getRemoteAddressProviderBuilder

        public com.tangosol.coherence.config.builder.ParameterizedBuilder<com.tangosol.net.SocketAddressProvider> getRemoteAddressProviderBuilder()
        Specified by:
        getRemoteAddressProviderBuilder in interface com.tangosol.net.grpc.GrpcChannelDependencies
      • setSocketProvider

        @Injectable
        public void setSocketProvider​(com.tangosol.coherence.config.builder.SocketProviderBuilder builder)
        Set the SocketProviderBuilder to use to configure an SSL context for the gRPC channel. If the socket provider is not an SSL provider it will be ignored.
        Parameters:
        builder - the SocketProviderBuilder to use to configure an SSL context for the gRPC channel
      • getSocketProviderBuilder

        public com.tangosol.coherence.config.builder.SocketProviderBuilder getSocketProviderBuilder()
        Specified by:
        getSocketProviderBuilder in interface com.tangosol.net.grpc.GrpcChannelDependencies
      • setOverrideAuthority

        @Injectable("override-authority")
        public void setOverrideAuthority​(String sAuthority)
        Set the value to use in ManagedChannelBuilder.overrideAuthority(String).
        Parameters:
        sAuthority - the value to use in ManagedChannelBuilder.overrideAuthority(String)
      • getAuthorityOverride

        public Optional<String> getAuthorityOverride()
        Specified by:
        getAuthorityOverride in interface com.tangosol.net.grpc.GrpcChannelDependencies
      • setLoadBalancerPolicy

        @Injectable("load-balancer-policy")
        public void setLoadBalancerPolicy​(String sPolicy)
        Set the value to use in ManagedChannelBuilder.defaultLoadBalancingPolicy(String).

        This value must be a valid load balancer registered with the gRPC framework.

        Parameters:
        sPolicy - the value to use in ManagedChannelBuilder.defaultLoadBalancingPolicy(String)
      • getDefaultLoadBalancingPolicy

        public String getDefaultLoadBalancingPolicy()
        Specified by:
        getDefaultLoadBalancingPolicy in interface com.tangosol.net.grpc.GrpcChannelDependencies
      • setLoadBalancerTimeout

        @Injectable("load-balancer-timeout")
        public void setLoadBalancerTimeout​(com.tangosol.config.expression.Expression<com.tangosol.coherence.config.unit.Seconds> expr)
      • getLoadBalancerTimeout

        public long getLoadBalancerTimeout​(com.tangosol.config.expression.ParameterResolver resolver)
        Specified by:
        getLoadBalancerTimeout in interface com.tangosol.net.grpc.GrpcChannelDependencies
      • setConfigurer

        @Injectable("configurer")
        public void setConfigurer​(com.tangosol.coherence.config.builder.ParameterizedBuilder<GrpcChannelConfigurer> bldr)
        Set the optional ParameterizedBuilder that will build a GrpcChannelConfigurer that can apply further configuration to a ManagedChannelBuilder.
        Parameters:
        bldr - the optional ParameterizedBuilder that will build a GrpcChannelConfigurer that can apply further configuration to a ManagedChannelBuilder
      • getConfigurer

        public Optional<GrpcChannelConfigurer> getConfigurer()
        Specified by:
        getConfigurer in interface com.tangosol.net.grpc.GrpcChannelDependencies