public class org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslClientTlsHandler extends io.netty.channel.ChannelInboundHandlerAdapter
{
private final io.netty.handler.ssl.SslContext sslContext;
private final org.apache.dubbo.remoting.transport.netty.NettyClientHandler clientHandler;
public void <init>(org.apache.dubbo.common.URL, org.apache.dubbo.remoting.transport.netty.NettyClientHandler)
{
org.apache.dubbo.common.URL v;
io.netty.handler.ssl.SslContext v;
org.apache.dubbo.remoting.transport.netty.NettyClientHandler v;
org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslClientTlsHandler v;
v := @this: org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslClientTlsHandler;
v := @parameter: org.apache.dubbo.common.URL;
v := @parameter: org.apache.dubbo.remoting.transport.netty.NettyClientHandler;
specialinvoke v.<io.netty.channel.ChannelInboundHandlerAdapter: void <init>()>();
v = staticinvoke <org.apache.dubbo.remoting.transport.netty.SslContexts: io.netty.handler.ssl.SslContext buildClientSslContext(org.apache.dubbo.common.URL)>(v);
v.<org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslClientTlsHandler: io.netty.handler.ssl.SslContext sslContext> = v;
v.<org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslClientTlsHandler: org.apache.dubbo.remoting.transport.netty.NettyClientHandler clientHandler> = v;
return;
}
public void handlerAdded(io.netty.channel.ChannelHandlerContext)
{
io.netty.handler.ssl.SslContext v;
io.netty.buffer.ByteBufAllocator v;
org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslClientTlsHandler v;
io.netty.channel.ChannelPipeline v;
javax.net.ssl.SSLEngine v;
io.netty.channel.ChannelHandlerContext v;
io.netty.handler.ssl.SslHandler v;
java.lang.String v;
v := @this: org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslClientTlsHandler;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v = v.<org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslClientTlsHandler: io.netty.handler.ssl.SslContext sslContext>;
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.buffer.ByteBufAllocator alloc()>();
v = virtualinvoke v.<io.netty.handler.ssl.SslContext: javax.net.ssl.SSLEngine newEngine(io.netty.buffer.ByteBufAllocator)>(v);
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelPipeline pipeline()>();
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: java.lang.String name()>();
v = new io.netty.handler.ssl.SslHandler;
specialinvoke v.<io.netty.handler.ssl.SslHandler: void <init>(javax.net.ssl.SSLEngine,boolean)>(v, 0);
interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelPipeline addBefore(java.lang.String,java.lang.String,io.netty.channel.ChannelHandler)>(v, null, v);
return;
}
public void userEventTriggered(io.netty.channel.ChannelHandlerContext, java.lang.Object) throws java.lang.Exception
{
java.lang.Throwable v, v;
org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$HandshakeCompletionEvent v;
javax.net.ssl.SSLEngine v;
io.netty.channel.ChannelHandlerContext v;
javax.net.ssl.SSLSession v;
org.apache.dubbo.remoting.transport.netty.NettyClientHandler v;
java.lang.String v;
boolean v, v;
org.apache.dubbo.common.logger.Logger v, v;
org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslClientTlsHandler v;
io.netty.channel.ChannelPipeline v, v;
io.netty.channel.ChannelHandler v;
java.lang.Object v;
v := @this: org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslClientTlsHandler;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: java.lang.Object;
v = v instanceof io.netty.handler.ssl.SslHandshakeCompletionEvent;
if v == 0 goto label;
v = virtualinvoke v.<io.netty.handler.ssl.SslHandshakeCompletionEvent: boolean isSuccess()>();
if v == 0 goto label;
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelPipeline pipeline()>();
v = interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelHandler get(java.lang.Class)>(class "Lio/netty/handler/ssl/SslHandler;");
v = virtualinvoke v.<io.netty.handler.ssl.SslHandler: javax.net.ssl.SSLEngine engine()>();
v = virtualinvoke v.<javax.net.ssl.SSLEngine: javax.net.ssl.SSLSession getSession()>();
v = <org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer: org.apache.dubbo.common.logger.Logger logger>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (javax.net.ssl.SSLSession)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("TLS negotiation succeed with session: \u0001");
interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: void info(java.lang.String)>(v);
v = v.<org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslClientTlsHandler: org.apache.dubbo.remoting.transport.netty.NettyClientHandler clientHandler>;
v = new org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$HandshakeCompletionEvent;
specialinvoke v.<org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$HandshakeCompletionEvent: void <init>(javax.net.ssl.SSLSession,io.netty.channel.ChannelHandlerContext)>(v, v);
virtualinvoke v.<org.apache.dubbo.remoting.transport.netty.NettyClientHandler: void handshakeCompleted(org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$HandshakeCompletionEvent)>(v);
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelPipeline pipeline()>();
interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelPipeline remove(io.netty.channel.ChannelHandler)>(v);
goto label;
label:
v = <org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer: org.apache.dubbo.common.logger.Logger logger>;
v = virtualinvoke v.<io.netty.handler.ssl.SslHandshakeCompletionEvent: java.lang.Throwable cause()>();
interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: void error(java.lang.String,java.lang.Throwable)>("TLS negotiation failed when trying to accept new connection.", v);
v = virtualinvoke v.<io.netty.handler.ssl.SslHandshakeCompletionEvent: java.lang.Throwable cause()>();
interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelHandlerContext fireExceptionCaught(java.lang.Throwable)>(v);
label:
return;
}
}