@Internal public abstract class ManagedChannelProvider extends Object
Implementations should not throw. If they do, it may interrupt class loading. If
exceptions may reasonably occur for implementation-specific reasons, implementations should
generally handle the exception gracefully and return false
from isAvailable()
.
Modifier and Type | Class and Description |
---|---|
static class |
ManagedChannelProvider.ProviderNotFoundException
Thrown when no suitable
ManagedChannelProvider objects can be found. |
Constructor and Description |
---|
ManagedChannelProvider() |
Modifier and Type | Method and Description |
---|---|
protected abstract ManagedChannelBuilder<?> |
builderForAddress(String name,
int port)
Creates a new builder with the given host and port.
|
protected abstract ManagedChannelBuilder<?> |
builderForTarget(String target)
Creates a new builder with the given target URI.
|
protected abstract boolean |
isAvailable()
Whether this provider is available for use, taking the current environment into consideration.
|
protected abstract int |
priority()
A priority, from 0 to 10 that this provider should be used, taking the current environment into
consideration.
|
static ManagedChannelProvider |
provider()
Returns the ClassLoader-wide default channel.
|
public static ManagedChannelProvider provider()
ManagedChannelProvider.ProviderNotFoundException
- if no provider is availableprotected abstract boolean isAvailable()
false
, no other methods are safe to be called.protected abstract int priority()
protected abstract ManagedChannelBuilder<?> builderForAddress(String name, int port)
protected abstract ManagedChannelBuilder<?> builderForTarget(String target)