Class NettyHBaseSaslRpcClientHandler

java.lang.Object
org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerAdapter
org.apache.hbase.thirdparty.io.netty.channel.ChannelInboundHandlerAdapter
org.apache.hbase.thirdparty.io.netty.channel.SimpleChannelInboundHandler<org.apache.hbase.thirdparty.io.netty.buffer.ByteBuf>
org.apache.hadoop.hbase.security.NettyHBaseSaslRpcClientHandler
All Implemented Interfaces:
org.apache.hbase.thirdparty.io.netty.channel.ChannelHandler, org.apache.hbase.thirdparty.io.netty.channel.ChannelInboundHandler

@Private public class NettyHBaseSaslRpcClientHandler extends org.apache.hbase.thirdparty.io.netty.channel.SimpleChannelInboundHandler<org.apache.hbase.thirdparty.io.netty.buffer.ByteBuf>
Implement SASL logic for netty rpc client.
Since:
2.0.0
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.apache.hbase.thirdparty.io.netty.channel.ChannelHandler

    org.apache.hbase.thirdparty.io.netty.channel.ChannelHandler.Sharable
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final org.apache.hadoop.conf.Configuration
     
    static final String
     
    private static final org.slf4j.Logger
     
    private boolean
     
     
    private final org.apache.hbase.thirdparty.io.netty.util.concurrent.Promise<Boolean>
     
     
    private final org.apache.hadoop.security.UserGroupInformation
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    NettyHBaseSaslRpcClientHandler(org.apache.hbase.thirdparty.io.netty.util.concurrent.Promise<Boolean> saslPromise, org.apache.hadoop.security.UserGroupInformation ugi, SaslClientAuthenticationProvider provider, org.apache.hadoop.security.token.Token<? extends org.apache.hadoop.security.token.TokenIdentifier> token, InetAddress serverAddr, String serverPrincipal, boolean fallbackAllowed, org.apache.hadoop.conf.Configuration conf)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    channelInactive(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx)
     
    protected void
    channelRead0(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx, org.apache.hbase.thirdparty.io.netty.buffer.ByteBuf msg)
     
    void
    exceptionCaught(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx, Throwable cause)
     
    void
    handlerAdded(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx)
     
    boolean
     
    private void
    removeHandlers(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx)
     
    private void
     
    private void
    tryComplete(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx)
     
    private void
    writeResponse(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx, byte[] response)
     

    Methods inherited from class org.apache.hbase.thirdparty.io.netty.channel.SimpleChannelInboundHandler

    acceptInboundMessage, channelRead

    Methods inherited from class org.apache.hbase.thirdparty.io.netty.channel.ChannelInboundHandlerAdapter

    channelActive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, userEventTriggered

    Methods inherited from class org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerAdapter

    ensureNotSharable, handlerRemoved, isSharable

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.apache.hbase.thirdparty.io.netty.channel.ChannelHandler

    handlerRemoved
  • Field Details

  • Constructor Details

    • NettyHBaseSaslRpcClientHandler

      public NettyHBaseSaslRpcClientHandler(org.apache.hbase.thirdparty.io.netty.util.concurrent.Promise<Boolean> saslPromise, org.apache.hadoop.security.UserGroupInformation ugi, SaslClientAuthenticationProvider provider, org.apache.hadoop.security.token.Token<? extends org.apache.hadoop.security.token.TokenIdentifier> token, InetAddress serverAddr, String serverPrincipal, boolean fallbackAllowed, org.apache.hadoop.conf.Configuration conf) throws IOException
      Parameters:
      saslPromise - true if success, false if server tells us to fallback to simple.
      Throws:
      IOException
  • Method Details

    • writeResponse

      private void writeResponse(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx, byte[] response)
    • tryComplete

      private void tryComplete(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx)
    • removeHandlers

      private void removeHandlers(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx)
    • setCryptoAESOption

      private void setCryptoAESOption()
    • isNeedProcessConnectionHeader

    • handlerAdded

      public void handlerAdded(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx)
      Specified by:
      handlerAdded in interface org.apache.hbase.thirdparty.io.netty.channel.ChannelHandler
      Overrides:
      handlerAdded in class org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerAdapter
    • channelRead0

      protected void channelRead0(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx, org.apache.hbase.thirdparty.io.netty.buffer.ByteBuf msg) throws Exception
      Specified by:
      channelRead0 in class org.apache.hbase.thirdparty.io.netty.channel.SimpleChannelInboundHandler<org.apache.hbase.thirdparty.io.netty.buffer.ByteBuf>
      Throws:
      Exception
    • channelInactive

      public void channelInactive(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx) throws Exception
      Specified by:
      channelInactive in interface org.apache.hbase.thirdparty.io.netty.channel.ChannelInboundHandler
      Overrides:
      channelInactive in class org.apache.hbase.thirdparty.io.netty.channel.ChannelInboundHandlerAdapter
      Throws:
      Exception
    • exceptionCaught

      public void exceptionCaught(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx, Throwable cause)
      Specified by:
      exceptionCaught in interface org.apache.hbase.thirdparty.io.netty.channel.ChannelHandler
      Specified by:
      exceptionCaught in interface org.apache.hbase.thirdparty.io.netty.channel.ChannelInboundHandler
      Overrides:
      exceptionCaught in class org.apache.hbase.thirdparty.io.netty.channel.ChannelInboundHandlerAdapter