Package io.grpc

Class ServerProvider


  • @Internal
    public abstract class ServerProvider
    extends java.lang.Object
    Provider of servers for transport agnostic consumption.

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

    • Constructor Summary

      Constructors 
      Constructor Description
      ServerProvider()  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method 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 abstract int priority()
      A priority, from 0 to 10 that this provider should be used, taking the current environment into consideration.
      static ServerProvider provider()
      Returns the ClassLoader-wide default server.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ServerProvider

        public ServerProvider()
    • Method Detail

      • isAvailable

        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.
      • priority

        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.
      • builderForPort

        protected abstract ServerBuilder<?> builderForPort​(int port)
        Creates a new builder with the given port.