Package io.grpc.netty

Class ProtocolNegotiators.ClientTlsProtocolNegotiator

java.lang.Object
io.grpc.netty.ProtocolNegotiators.ClientTlsProtocolNegotiator
All Implemented Interfaces:
ProtocolNegotiator
Enclosing class:
ProtocolNegotiators

static final class ProtocolNegotiators.ClientTlsProtocolNegotiator extends Object implements ProtocolNegotiator
  • Field Details

    • sslContext

      private final io.netty.handler.ssl.SslContext sslContext
    • executorPool

      private final ObjectPool<? extends Executor> executorPool
    • handshakeCompleteRunnable

      private final Optional<Runnable> handshakeCompleteRunnable
    • executor

      private Executor executor
  • Constructor Details

    • ClientTlsProtocolNegotiator

      public ClientTlsProtocolNegotiator(io.netty.handler.ssl.SslContext sslContext, ObjectPool<? extends Executor> executorPool, Optional<Runnable> handshakeCompleteRunnable)
  • Method Details

    • scheme

      public io.netty.util.AsciiString scheme()
      Description copied from interface: ProtocolNegotiator
      The HTTP/2 scheme to be used when sending HEADERS.
      Specified by:
      scheme in interface ProtocolNegotiator
    • newHandler

      public io.netty.channel.ChannelHandler newHandler(GrpcHttp2ConnectionHandler grpcHandler)
      Description copied from interface: ProtocolNegotiator
      Creates a new handler to control the protocol negotiation. Once the negotiation has completed successfully, the provided handler is installed. Must call grpcHandler.onHandleProtocolNegotiationCompleted() at certain point if the negotiation has completed successfully.
      Specified by:
      newHandler in interface ProtocolNegotiator
    • close

      public void close()
      Description copied from interface: ProtocolNegotiator
      Releases resources held by this negotiator. Called when the Channel transitions to terminated or when InternalServer is shutdown (depending on client or server). That means handlers returned by ProtocolNegotiator.newHandler(io.grpc.netty.GrpcHttp2ConnectionHandler) can outlive their parent negotiator on server-side, but not on client-side.
      Specified by:
      close in interface ProtocolNegotiator