public class org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslServerTlsHandler extends io.netty.channel.ChannelInboundHandlerAdapter
{
private final io.netty.handler.ssl.SslContext sslContext;
private final org.apache.dubbo.remoting.transport.netty.NettyServerHandler serverHandler;
void <init>(org.apache.dubbo.common.URL, org.apache.dubbo.remoting.transport.netty.NettyServerHandler)
{
org.apache.dubbo.common.URL v;
io.netty.handler.ssl.SslContext v;
org.apache.dubbo.remoting.transport.netty.NettyServerHandler v;
org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslServerTlsHandler v;
v := @this: org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslServerTlsHandler;
v := @parameter: org.apache.dubbo.common.URL;
v := @parameter: org.apache.dubbo.remoting.transport.netty.NettyServerHandler;
specialinvoke v.<io.netty.channel.ChannelInboundHandlerAdapter: void <init>()>();
v = staticinvoke <org.apache.dubbo.remoting.transport.netty.SslContexts: io.netty.handler.ssl.SslContext buildServerSslContext(org.apache.dubbo.common.URL)>(v);
v.<org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslServerTlsHandler: io.netty.handler.ssl.SslContext sslContext> = v;
v.<org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslServerTlsHandler: org.apache.dubbo.remoting.transport.netty.NettyServerHandler serverHandler> = v;
return;
}
public void handlerAdded(io.netty.channel.ChannelHandlerContext) throws java.lang.Exception
{
java.lang.Object[] v;
io.netty.handler.ssl.SslContext v;
io.netty.buffer.ByteBufAllocator v;
io.netty.channel.ChannelPipeline v;
javax.net.ssl.SSLEngine v;
io.netty.channel.ChannelHandlerContext v;
io.netty.handler.ssl.SslHandler v;
org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslServerTlsHandler v;
v := @this: org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslServerTlsHandler;
v := @parameter: io.netty.channel.ChannelHandlerContext;
specialinvoke v.<io.netty.channel.ChannelInboundHandlerAdapter: void handlerAdded(io.netty.channel.ChannelHandlerContext)>(v);
v = v.<org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslServerTlsHandler: 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 = newarray (io.netty.channel.ChannelHandler)[1];
v = new io.netty.handler.ssl.SslHandler;
specialinvoke v.<io.netty.handler.ssl.SslHandler: void <init>(javax.net.ssl.SSLEngine,boolean)>(v, 0);
v[0] = v;
interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelPipeline addFirst(io.netty.channel.ChannelHandler[])>(v);
return;
}
public void exceptionCaught(io.netty.channel.ChannelHandlerContext, java.lang.Throwable) throws java.lang.Exception
{
java.lang.Throwable v;
io.netty.channel.ChannelHandlerContext v;
org.apache.dubbo.common.logger.Logger v;
org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslServerTlsHandler v;
v := @this: org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslServerTlsHandler;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: java.lang.Throwable;
v = <org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer: org.apache.dubbo.common.logger.Logger logger>;
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);
return;
}
public void userEventTriggered(io.netty.channel.ChannelHandlerContext, java.lang.Object) throws java.lang.Exception
{
java.lang.Throwable 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;
java.lang.String v;
boolean v, v;
org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslServerTlsHandler v;
org.apache.dubbo.common.logger.Logger v, v;
io.netty.channel.ChannelPipeline v, v;
io.netty.channel.ChannelHandler v;
java.lang.Object v;
org.apache.dubbo.remoting.transport.netty.NettyServerHandler v;
v := @this: org.apache.dubbo.remoting.transport.netty.SslHandlerInitializer$SslServerTlsHandler;
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$SslServerTlsHandler: org.apache.dubbo.remoting.transport.netty.NettyServerHandler serverHandler>;
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.NettyServerHandler: 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);
interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelFuture close()>();
label:
specialinvoke v.<io.netty.channel.ChannelInboundHandlerAdapter: void userEventTriggered(io.netty.channel.ChannelHandlerContext,java.lang.Object)>(v, v);
return;
}
}