Top Description Inners Constructors Methods
io.grpc

public abstract Class ServerProvider

extends Object
Class Inheritance
Annotations
@Internal
Imports
com.google.common.base.Preconditions, io.grpc.ManagedChannelProvider.ProviderNotFoundException

Provider of servers for transport agnostic consumption.

Implementations can be automatically discovered by gRPC via Java's SPI mechanism. For automatic discovery, the implementation must have a zero-argument constructor and include a resource named META-INF/services/io.grpc.ServerProvider in their JAR. The file's contents should be the implementation's class name.

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().

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected abstract ServerBuilder<?>
builderForPort(int port)

Creates a new builder with the given port.

protected abstract boolean
isAvailable()

Whether this provider is available for use, taking the current environment into consideration.

protected ServerProvider.NewServerBuilderResult
newServerBuilderForPort(int port, ServerCredentials creds)

Creates a new builder with the given port and credentials.

protected abstract int
priority()

A priority, from 0 to 10 that this provider should be used, taking the current environment into consideration.

public static ServerProvider
provider()

Returns the ClassLoader-wide default server.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

ServerProviderback to summary
public ServerProvider()

Method Detail

builderForPortback to summary
protected abstract ServerBuilder<?> builderForPort(int port)

Creates a new builder with the given port.

isAvailableback to summary
protected abstract boolean isAvailable()

Whether this provider is available for use, taking the current environment into consideration. If false, no other methods are safe to be called.

newServerBuilderForPortback to summary
protected ServerProvider.NewServerBuilderResult newServerBuilderForPort(int port, ServerCredentials creds)

Creates a new builder with the given port and credentials. Returns an error-string result if unable to understand the credentials.

priorityback to summary
protected abstract int priority()

A priority, from 0 to 10 that this provider should be used, taking the current environment into consideration. 5 should be considered the default, and then tweaked based on environment detection. A priority of 0 does not imply that the provider wouldn't work; just that it should be last in line.

providerback to summary
public static ServerProvider provider()

Returns the ClassLoader-wide default server.

Exceptions
ProviderNotFoundException:
if no provider is available
io.grpc back to summary

public final Class ServerProvider.NewServerBuilderResult

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
private final String
private final ServerBuilder<?>

Constructor Summary

AccessConstructor and Description
private
NewServerBuilderResult(ServerBuilder<?> serverBuilder, String error)

Method Summary

Modifier and TypeMethod and Description
public static ServerProvider.NewServerBuilderResult
error(String error)

public String
public ServerBuilder<?>
public static ServerProvider.NewServerBuilderResult
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

errorback to summary
private final String error
serverBuilderback to summary
private final ServerBuilder<?> serverBuilder

Constructor Detail

NewServerBuilderResultback to summary
private NewServerBuilderResult(ServerBuilder<?> serverBuilder, String error)

Method Detail

errorback to summary
public static ServerProvider.NewServerBuilderResult error(String error)
getErrorback to summary
public String getError()
getServerBuilderback to summary
public ServerBuilder<?> getServerBuilder()
serverBuilderback to summary
public static ServerProvider.NewServerBuilderResult serverBuilder(ServerBuilder<?> builder)