Package io.grpc.xds
Class XdsServerBuilder
java.lang.Object
io.grpc.ServerBuilder<XdsServerBuilder>
io.grpc.ForwardingServerBuilder<XdsServerBuilder>
io.grpc.xds.XdsServerBuilder
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/7514")
public final class XdsServerBuilder
extends io.grpc.ForwardingServerBuilder<XdsServerBuilder>
A version of
ServerBuilder to create xDS managed servers.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classDefault implementation ofXdsServerBuilder.XdsServingStatusListenerthat logs at WARNING level.static interfaceApplications can register this listener to receive "serving" and "not serving" states of the server usingxdsServingStatusListener(XdsServingStatusListener). -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final longprivate final io.grpc.netty.NettyServerBuilderprivate longprivate TimeUnitprivate final FilterRegistryprivate AtomicBooleanprivate final intprivate XdsClientPoolFactory -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateXdsServerBuilder(io.grpc.netty.NettyServerBuilder nettyDelegate, int port) -
Method Summary
Modifier and TypeMethodDescriptionio.grpc.Serverbuild()protected io.grpc.ServerBuilder<?> delegate()drainGraceTime(long drainGraceTime, TimeUnit drainGraceTimeUnit) Sets the grace time when draining connections with outdated configuration.static io.grpc.ServerBuilder<?> forPort(int port) static XdsServerBuilderforPort(int port, io.grpc.ServerCredentials serverCredentials) Creates a gRPC server builder for the given port.overrideBootstrapForTest(Map<String, ?> bootstrapOverride) Allows providing bootstrap override, useful for testing.io.grpc.ServerBuilder<?> Returns the delegateNettyServerBuilderto allow experimental level transport-specific configuration.(package private) XdsServerBuilderxdsClientPoolFactory(XdsClientPoolFactory xdsClientPoolFactory) xdsServingStatusListener(XdsServerBuilder.XdsServingStatusListener xdsServingStatusListener) Set theXdsServerBuilder.XdsServingStatusListenerto receive "serving" and "not serving" states.Methods inherited from class io.grpc.ForwardingServerBuilder
addService, addService, addStreamTracerFactory, addTransportFilter, callExecutor, compressorRegistry, decompressorRegistry, directExecutor, executor, fallbackHandlerRegistry, handshakeTimeout, intercept, keepAliveTime, keepAliveTimeout, maxConnectionAge, maxConnectionAgeGrace, maxConnectionIdle, maxInboundMessageSize, maxInboundMetadataSize, permitKeepAliveTime, permitKeepAliveWithoutCalls, setBinaryLog, toString, useTransportSecurity, useTransportSecurityMethods inherited from class io.grpc.ServerBuilder
addServices
-
Field Details
-
AS_LARGE_AS_INFINITE
private static final long AS_LARGE_AS_INFINITE -
delegate
private final io.grpc.netty.NettyServerBuilder delegate -
port
private final int port -
xdsServingStatusListener
-
isServerBuilt
-
filterRegistry
-
xdsClientPoolFactory
-
drainGraceTime
private long drainGraceTime -
drainGraceTimeUnit
-
-
Constructor Details
-
XdsServerBuilder
private XdsServerBuilder(io.grpc.netty.NettyServerBuilder nettyDelegate, int port)
-
-
Method Details
-
delegate
@Internal protected io.grpc.ServerBuilder<?> delegate()- Specified by:
delegatein classio.grpc.ForwardingServerBuilder<XdsServerBuilder>
-
xdsServingStatusListener
public XdsServerBuilder xdsServingStatusListener(XdsServerBuilder.XdsServingStatusListener xdsServingStatusListener) Set theXdsServerBuilder.XdsServingStatusListenerto receive "serving" and "not serving" states. -
drainGraceTime
Sets the grace time when draining connections with outdated configuration. When an xDS config update changes connection configuration, pre-existing connections stop accepting new RPCs to be replaced by new connections. RPCs on those pre-existing connections have the grace time to complete. RPCs that do not complete in time will be cancelled, allowing the connection to terminate.Long.MAX_VALUEnano seconds or an unreasonably large value are considered infinite. The default is 10 minutes. -
forPort
public static io.grpc.ServerBuilder<?> forPort(int port) -
forPort
Creates a gRPC server builder for the given port. -
build
public io.grpc.Server build()- Overrides:
buildin classio.grpc.ForwardingServerBuilder<XdsServerBuilder>
-
xdsClientPoolFactory
-
overrideBootstrapForTest
Allows providing bootstrap override, useful for testing. -
transportBuilder
public io.grpc.ServerBuilder<?> transportBuilder()Returns the delegateNettyServerBuilderto allow experimental level transport-specific configuration. Note this API will always be experimental.
-