Package io.grpc.xds

Class 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.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      io.grpc.Server build()  
      protected io.grpc.ServerBuilder<?> delegate()  
      XdsServerBuilder drainGraceTime​(long drainGraceTime, java.util.concurrent.TimeUnit drainGraceTimeUnit)
      Sets the grace time when draining connections with outdated configuration.
      static io.grpc.ServerBuilder<?> forPort​(int port)  
      static XdsServerBuilder forPort​(int port, io.grpc.ServerCredentials serverCredentials)
      Creates a gRPC server builder for the given port.
      XdsServerBuilder overrideBootstrapForTest​(java.util.Map<java.lang.String,​?> bootstrapOverride)
      Allows providing bootstrap override, useful for testing.
      io.grpc.ServerBuilder<?> transportBuilder()
      Returns the delegate NettyServerBuilder to allow experimental level transport-specific configuration.
      XdsServerBuilder xdsServingStatusListener​(XdsServerBuilder.XdsServingStatusListener xdsServingStatusListener)
      Set the XdsServerBuilder.XdsServingStatusListener to 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, useTransportSecurity
      • Methods inherited from class io.grpc.ServerBuilder

        addServices
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Method Detail

      • delegate

        @Internal
        protected io.grpc.ServerBuilder<?> delegate()
        Specified by:
        delegate in class io.grpc.ForwardingServerBuilder<XdsServerBuilder>
      • drainGraceTime

        public XdsServerBuilder drainGraceTime​(long drainGraceTime,
                                               java.util.concurrent.TimeUnit drainGraceTimeUnit)
        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_VALUE nano seconds or an unreasonably large value are considered infinite. The default is 10 minutes.
      • forPort

        public static io.grpc.ServerBuilder<?> forPort​(int port)
      • forPort

        public static XdsServerBuilder forPort​(int port,
                                               io.grpc.ServerCredentials serverCredentials)
        Creates a gRPC server builder for the given port.
      • build

        public io.grpc.Server build()
        Overrides:
        build in class io.grpc.ForwardingServerBuilder<XdsServerBuilder>
      • overrideBootstrapForTest

        public XdsServerBuilder overrideBootstrapForTest​(java.util.Map<java.lang.String,​?> bootstrapOverride)
        Allows providing bootstrap override, useful for testing.
      • transportBuilder

        public io.grpc.ServerBuilder<?> transportBuilder()
        Returns the delegate NettyServerBuilder to allow experimental level transport-specific configuration. Note this API will always be experimental.